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; }