[NYISTOJ] 題目845 無主之地1
阿新 • • 發佈:2019-02-10
這個題 坑爹在不用排序
區域有了就加任務數
區域沒有就往後新建區域
用到了結構體
陣列應該也是可以的
#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; }