#include<iostream>//k467. 分班 (Class)
using namespace std;
int main(){//輸入第一列為一個整數 N (1 <= N <= 1000) 表示學生人數。
int n;
while(cin>>n){
int Li[n],Mi[n];
bool cl[n]/*0=>L,1=>M*/,flagL=0,flagM=0;
//第二列有 N 個整數Li(1 <= Li <= 100,1 <= i <= N),表示所有學生的語文成績。
for(int i=0;i<n;i++) cin>>Li[i];
//第三列有 N 個整數Mi(1 <= Mi <= 100,1 <= i <= N),表示所有學生的數理成績。
for(int i=0;i<n;i++) cin>>Mi[i];
//判斷每個同學應到的班,並檢查每班是否都有人
for(int i=0;i<n;i++){
if(Li[i]>Mi[i]){cl[i]=0; flagL=1;}
else if(Li[i]<Mi[i]){cl[i]=1; flagM=1;}
}
//輸出第一列表示語文班學生的座號
if(flagL==0) cout<<-1;
else{
for(int i=0;i<n;i++){
if(cl[i]==0) cout<<i+1<<" ";
}
}
cout<<endl;
//第二列表示數理班學生的座號
if(flagM==0) cout<<-1;
else{
for(int i=0;i<n;i++){
if(cl[i]==1) cout<<i+1<<" ";
}
}
cout<<endl;
}
return 0;
}
/*
問題敘述
文文學校希望能夠讓學生發揮各自的才能,因此打算將學生分為語文班和數理班。
為了區分學生的能力,學校準備了語文相關測驗和數理相關測驗。
如果學生的語文成績高於數理成績,則分配到語文班,反之則分配到數理班。
透過這樣分班方式,學校希望學生有更好的學習體驗和學習成果,可以更專注於
自己擅長的領域,並且在那些領域中得到更多的挑戰。
舉例來說,假設文文學校共有五位學生,座號由 1 開始,他們的語文成績
分別是 77、74、89、98 和 82,而數理成績則是 98、77、76、74 和 93。
按照學校的分班方式,語文成績高於數理成績的同學將分配到語文班,因此 3號和 4號
同學將被分配到語文班;反之,1 號、2 號和 5 號同學將被分配到數理班。
請你設計一個程式幫忙同學順利分班。
輸入格式
輸入第一列為一個整數 N (1 <= N <= 1000) 表示學生人數。第二列有 N 個整數
Li(1 <= Li <= 100,1 <= i <= N),表示所有學生的語文成績。第三列有 N 個整數
Mi(1 <= Mi <= 100,1 <= i <= N),表示所有學生的數理成績。
測資保證每位學生的兩科成績一定不相同。
輸出格式
輸出第一列表示語文班學生的座號,第二列表示數理班學生的座號,座號
由小到大排序,且中間以一個空白隔開。若此班級沒有學生則輸出 -1。
輸入範例 1
3
80 70 99
91 90 93
輸出範例 1
3
1 2
輸入範例 2
5
77 74 89 98 82
98 77 76 74 93
輸出範例 2
3 4
1 2 5
輸入範例 3
6
71 61 61 96 60 62
72 85 93 99 74 76
輸出範例 3
-1
1 2 3 4 5 6
*/