Strategy: such as question;
Why didn't I come up with it during yesterday's competition,
Fuzzy points:
Char c =;
C + = 1; // C = 'B' at this time ';
Note: I place the cursor bit in the back position of the array.
AC by: SWS
Link http://acm.hdu.edu.cn/showproblem.php? PID = 1, 1715
Code:
#include<stdio.h>#include<string.h>char a[300], b[300], c[300];void f(int n){strcpy(a, "1");strcpy(b, "1");int la, lb, i, j, k, s;for(s = 3; s <= n; s ++){la = strlen(a);lb = strlen(b);i = j = k = 0;while(i<la&&j<lb){c[k++] = a[i]+b[j]-'0';i++;j++;}while(i<la){c[k++] = a[i];i++;}while(j<lb){c[k++] = b[j];j++;}i = 0;while(i<k){if(c[i]>'9'){if(c[i+1] < '0')c[i+1]= c[i+1]+1+'0';elsec[i+1] += 1;c[i] -= 10;}i++;}if(c[k]) c[k+1] = '\0';elsec[k] = '\0';strcpy(a, b);strcpy(b, c);memset(c, 0, sizeof(c));}lb = strlen(b);for(i = lb-1; i >= 0; i --)printf("%c", b[i]);printf("\n");}int main(){int t, n;scanf("%d", &t);while(t --){scanf("%d", &n);f(n);}return 0;}
AC time: 2014/07/31