ラベル AOJ_Volume5 の投稿を表示しています。 すべての投稿を表示
ラベル AOJ_Volume5 の投稿を表示しています。 すべての投稿を表示

2012年7月15日日曜日

AOJ Volume5 0538: IOIOI

単純に回したのでは時間切れとなったので
考え方を変更した。

P1ならIOI  P2ならIOIOI
となるはずなので、IOIの連続出現回数をカウントしていく。
P1なら1回、P2なら2回連続で出現したらresをインクリメント
/*****************************
* 2012/07/15                 *
* AOJ_Volume5_0538           *
* IOIOI                      *
* crane                      *
******************************/
#include<iostream>
#include<string>
using namespace std;

int main(){
    int n;
    while(cin >> n, n){
        int m;
        cin >> m;
       
        string s;
        cin >> s;
        int count=0, res= 0;
            for(int i=0; i<m;){
                if(s.substr(i, 3) == "IOI"){
                    count++;
                    if(n <= count) res++;
                }else {
                    count = 0;
                }
               
                if(count == 0) i++;
                else              i+=2;   
            }
        cout << res << endl;
    }
    return 0;
}

2012年7月6日金曜日

AOJ Volume5 0543:Receipt

/********************************
*    2012/07/03                    *
*    AOJ Volume5 0543            *
*    Receipt                        *
*    crane                        *
*********************************/

#include<iostream>
using namespace std;


int main(){

    int s = 0;
    while(cin >> s, s){    //総額=0で終了
        for(int i=0; i<9; i++){
            int pri=0;
            cin >> pri;
            s = s - pri;
        }
        cout << s << endl;
    }
    return 0;
}