这个题 坑爹在不用排序
区域有了就加任务数
区域没有就往后新建区域
用到了结构体
数组应该也是可以的
#include <iostream>
using namespace std;
struct num//结构体
{
int ns,sum;//定义区域,任务数
}arr[110];//注意范围
int main()
{
int a,b,flag,tf=0;//tf就是区域指示下标 没有了往后开一个新的也就是tf++
cin>>arr[0].ns>>arr[0].sum;//第一组肯定是有的 单独输入
while(cin>>a>>b&&a||b) //从第二组开始输入
{
flag=0;//flag用来遍历是否已经存在这个区域
for(int i=0;i<=tf;i++)//遍历是否已存在区域
{
if(arr[i].ns==a)
{
arr[i].sum+=b;//存在任务数加起来
flag=1;
break;
}
}
if(flag==0)//不存在新建区域 任务数赋初值
{
tf++;
arr[tf].sum=b;
arr[tf].ns=a;
}
flag=0;//flag恢复初态
}
for(int i=0;i<=tf;i++)//tf是区域指示下标 范围内直接输出
cout<<arr[i].ns<<' '<<arr[i].sum<<endl;
return 0;
}