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 |
[求助]为什么RE?#include <iostream> #include <stdio.h> #include <string.h> using namespace std; #define re(i, n) for (int i=0; i<n; i++) #define re2(i, l, r) for (int i=l; i<r; i++) const int MAXN = 210; int n, A[MAXN], C[MAXN], K; bool F[MAXN]; char ss[MAXN], res[MAXN]; void solve() { int j, s, k0, P; re(i, n) F[i] = 0; re(i, n) if (!F[i]) { F[i] = 1; j = A[i]; s = 1; C[0] = i; while (j != i) {F[j] = 1; C[s++] = j; j = A[j];} k0 = K % s; re(i, s) { P = i - k0; if (P < 0) P += s; res[C[i]] = ss[C[P]]; } } } int main() { char ch, len; bool SPC = 0; while (1) { scanf("%d", &n); if (!n) break; re(i, n) {scanf("%d", &A[i]); A[i]--;} if (SPC) puts(""); else SPC = 1; while (1) { scanf("%d", &K); if (!K) break; ch = getchar(); gets(ss); len = strlen(ss); re2(i, len, n) ss[i] = ' '; ss[n] = 0; solve(); re(i, n) putchar(res[i]); puts(""); } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator