Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
测试数据都通过了,为什么还WA?//p3078.cpp //Problem B:Q // #include <iostream> #include <vector> #include <string> using namespace std; struct item{ string word; int pos; }; vector<item> items; int mn[21][2]; void Input() { cin >> mn[0][0] >> mn[0][1]; item a; for (int i=0; i<mn[0][0]; i++) { cin >> a.word; a.pos = i+1 ; items.push_back(a); } for (i=1; i<=mn[0][1]; i++) for (int j=0; j<2; j++) cin >> mn[i][j]; } void Output() { for (int i=1; i<=mn[0][0]; i++) for (int j=0; j<mn[0][0]; j++) if (items[j].pos == i) { cout << items[j].word; if (i<mn[0][0]) cout<<' '; break; } cout << endl; } void Solve() { int flag,cnt1 = 0 , cnt2 = 1; for (int i=1; i<=mn[0][0]; i++) { flag=0; for (int j=1; j<=mn[0][1] && cnt1<=mn[0][1]; j++) if ( mn[j][1] == i ) { items[mn[j][0]-1].pos = i; flag=1; cnt1++;break;} if (flag == 0) for (int k=cnt2; k<=mn[0][0]; k++) { flag = 0; for (int j=1; j<=mn[0][1]; j++) if (mn[j][0] == k) flag = 1; if (flag == 0) { items[k-1].pos = i; cnt2++; break;} } } } int main() { int nums; cin >> nums; while (nums--) { Input(); Solve(); Output(); items.clear(); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator