nyoj 845-无主之地1 (struct)

845-无主之地1


内存限制:64MB 时间限制:1000ms 特判: No
通过数:8 提交数:16 难度:0

题目描述:

子晓最近在玩无主之地1,他对这个游戏的评价不错,结合了FPS与RPG元素,可玩度很高。不过,他发现了一代的任务系统做的不好,任务系统并没有帮他统计清楚哪个区域有多少任务,而且,给任务的时候呢,也比较散乱。比如,在1区域的一个任务点,你领到了4个任务;2区域的一个任务点,你领到了3个任务;游戏一段时间后,你又在1区域另一个任务点个领到了3任务(之前任务没有完成),3区域领到了9个任务……他感觉很凌乱,现在他要设计一个程序来统计每个区域有多少个任务。

输入描述:

多组测试数据,以输入0 0结束
每组数据占一行,输入m区域,n个任务(0<m,n<100)

输出描述:

输出各个区域的统计结果(不要求排序)

样例输入:

1 3
2 3
3 4
1 7
0 0

样例输出:

1 10
2 3
3 4

C/C++:

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <set>
#include <map>
#include <queue>
#include <climits>
#include <bitset>
#define PI 3.1415926

using namespace std;

struct note
{
    int m, cnt;
}P[110];

int main()
{
    memset(P, 0, sizeof(P));
    int m, n, cnt = 0;
    while(cin >>m >>n, m || n)
    {
        int flag = 0;
        for (int i = 0; i < cnt; ++ i)
        {
            if (P[i].m == m)
            {
                P[i].cnt += n;
                flag = 1;
                break;
            }
        }
        if (!flag)
        {
            P[cnt].m = m;
            P[cnt ++].cnt = n;
        }
    }
    for (int i = 0; i < cnt; ++ i)
        cout <<P[i].m <<" " <<P[i].cnt <<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/GetcharZp/p/9361905.html