EOJ_1017_座位分配
生活随笔
收集整理的這篇文章主要介紹了
EOJ_1017_座位分配
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include<bits/stdc++.h>using namespace std;int order[103][13][13];//第幾個學校第幾隊第幾個人,數組值為編號
int teamNum[103]={0};//下標為學校,數組值為隊伍數int main()
{memset(order,0,sizeof(order));int school;cin>>school;int maxn=0;for(int i=1;i<=school;i++){int team;cin>>team;teamNum[i] = team;maxn = max(maxn,team);}int num=1;//編號int lastSchool=0;//循環編號,最里面是學校,第二層循環是同一隊的人,第三層循環是隊伍for(int team=1;team<=maxn;team++){for(int people=1;people<=10;people++){for(int nowSchool=1;nowSchool<=school;nowSchool++){if(team<=teamNum[nowSchool]){//隊伍還沒分配完if(lastSchool==nowSchool)//因為每次循環nowSchool都會+1,但是如果只有一個學校,只有那個學校才能進入循環修改lastSchool,//這樣就只需要看lastSchool是否保持不變判斷是否只有一個學校num++;order[nowSchool][team][people] = num;num++;lastSchool = nowSchool;}}}}for(int i=1;i<=school;i++){cout<<"#"<<i<<endl;for(int j=1;j<=teamNum[i];j++){for(int k=1;k<=10;k++){cout<<order[i][j][k]<<" ";}cout<<endl;}}return 0;
}
總結
以上是生活随笔為你收集整理的EOJ_1017_座位分配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOJ_1015_查字典
- 下一篇: EOJ_1018_玩具谜题