Coder

舒心、快乐,比什么都重要

7-7宝石合成

#include <iostream>
#include <cstring>
using namespace std;
int baoshi[10500]; //数组要开的大一点儿不然一直wa;
int main(){
    int t, n, a, b, i, cnt, count, k = 1;
    cin >> t;
    while (t--){
        count = 0;
        memset(baoshi, 0, sizeof(baoshi));
        cin >> n;
        for (int j = 0; j < n; j++){
            cin >> a >> b;
            baoshi[a] += b;
        }
        for (i = 1; i <= 10500; i++){   // 巧妙合成
            baoshi[i + 1] = baoshi[i + 1] + baoshi[i] / 3;  
            baoshi[i] %= 3;
            cnt = i + 1;
            while (baoshi[cnt] >= 3){。 
                baoshi[cnt + 1] = baoshi[cnt + 1] + baoshi[cnt] / 3;
                baoshi[cnt] %= 3;
                cnt++;
            }
            if (baoshi[i] != 0)
                count += baoshi[i];
        }
        cout << "Case #" << k << ":" << endl << count << endl;
        k++;
    }
    return 0;
}

 

posted @ 2019-04-15 18:39  H123K  阅读(139)  评论(0编辑  收藏  举报