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 |
太郁闷了,为什么老是说超时啊???#include <iostream> #include <string> #include <cassert> #include <cstdlib> using namespace std; int main() { int n, loop; int i, j; cin >> n; string message(n, ' '); string message2(n, ' '); int * num = new int [n]; int * ntemp = new int [n]; assert( num != 0 && ntemp != 0); for (i = 0; i < n; i++) cin >> num[i]; while(1){ cin >> loop; cin.ignore(); char c[201]; cin.getline(c, 200); for (i = 0; i < strlen(c); i++) message[i] = c[i]; // getline(cin, message); if (loop == 0 && message[0] == '0' && strlen(c) == 1){ delete [] num; delete [] ntemp; return 0; } for (i = 0; i < n; i++){ ntemp[i] = i + 1; } for (i = 0; i < loop; i++) { for (j = 0; j < n; j++){ ntemp[j] = num[ntemp[j] - 1]; } } for (i = 0; i < n; i++){ message2[ntemp[i] - 1] = message[i]; } for (i = 0; i < n; i++) cout << message2[i]; cout << endl; message = string(n, ' '); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator