无主之地1
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
- 子晓最近在玩无主之地1,他对这个游戏的评价不错,结合了FPS与RPG元素,可玩度很高。不过,他发现了一代的任务系统做的不好,任务系统并没有帮他统计清楚哪个区域有多少任务,而且,给任务的时候呢,也比较散乱。比如,在1区域的一个任务点,你领到了4个任务;2区域的一个任务点,你领到了3个任务;游戏一段时间后,你又在1区域另一个任务点个领到了3任务(之前任务没有完成),3区域领到了9个任务……他感觉很凌乱,现在他要设计一个程序来统计每个区域有多少个任务。
如果说按照地区排序这个题会非常好做。
但是它不排序,所以记得要处理一下这块。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct A
{
int d,num;
}b[111];
int cmp(A x,A y)
{
if(x.num>y.num)
return 1;
return 0;
}
int a[111];
int main()
{
int m,n,i;
while(~scanf("%d%d",&m,&n))
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[m]+=n;
int j=1;
b[m].d=m;
b[m].num=j++;
while(1)
{
scanf("%d%d",&m,&n);
if(n==0&&m==0)
break;
a[m]+=n;
if(b[m].num==0)
{
b[m].d=m;
b[m].num=j++;
}
}
sort(b,b+100,cmp);
for(i=j-2;i>=0;i--)
{
int x=b[i].d;
printf("%d %d\n",x,a[x]);
}
}
return 0;
}