首页 > 代码库 > usaco-namenum-pass
usaco-namenum-pass
呵呵,这个,要转换一下思维,不能被题所导引,感觉代码有点丑:
/*ID: qq104801LANG: C++TASK: namenum*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>/* for debug only:counter*/void debug_dummy(void){ return;}typedef struct _dict{ int n; char x[5001][13];}dict;dict d;char cc[26]={‘2‘,‘2‘,‘2‘, ‘3‘,‘3‘,‘3‘,‘4‘,‘4‘,‘4‘, ‘5‘,‘5‘,‘5‘,‘6‘,‘6‘,‘6‘, ‘7‘,‘0‘,‘7‘,‘7‘,‘8‘,‘8‘,‘8‘, ‘9‘,‘9‘,‘9‘,‘0‘}; char s[13],t[13];void initdict(FILE* ff){ FILE *f=fopen("dict.txt","r"); int i=0; int l=strlen(s); int k=0; while(fscanf(f,"%s",&d.x[i])!=EOF) { if (l==strlen(d.x[i])) { int f=1; int j=0; while(j<l) { if ((d.x[i][j]>=‘A‘) && (d.x[i][j]<=‘Z‘) && (cc[d.x[i][j]-‘A‘]==s[j])); else { f=0; break; } j++; } if (f) { fprintf(ff,"%s\n",d.x[i]); k++; } } i++; } if(!k) fprintf(ff,"NONE\n"); fclose(f); d.n=--i; }main () { FILE *fin = fopen ("namenum.in", "r"); FILE *fout = fopen ("namenum.out", "w"); fscanf(fin,"%s",&s); initdict(fout); fclose(fin); fclose(fout); exit (0);}
测试数据:
USER: ll tom [qq104801]TASK: namenumLANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.008 secs, 3556 KB] Test 2: TEST OK [0.016 secs, 3556 KB] Test 3: TEST OK [0.019 secs, 3556 KB] Test 4: TEST OK [0.014 secs, 3556 KB] Test 5: TEST OK [0.014 secs, 3556 KB] Test 6: TEST OK [0.008 secs, 3556 KB] Test 7: TEST OK [0.011 secs, 3556 KB] Test 8: TEST OK [0.005 secs, 3556 KB] Test 9: TEST OK [0.014 secs, 3556 KB] Test 10: TEST OK [0.005 secs, 3556 KB] Test 11: TEST OK [0.011 secs, 3556 KB] Test 12: TEST OK [0.014 secs, 3556 KB] Test 13: TEST OK [0.008 secs, 3556 KB] Test 14: TEST OK [0.005 secs, 3556 KB] Test 15: TEST OK [0.014 secs, 3556 KB]All tests OK.Your program (‘namenum‘) produced all correct answers! This is your submission #6 for this problem. Congratulations!Here are the test data inputs:------- test 1 ----4734------- test 2 ----234643------- test 3 ----5747867437------- test 4 ----223------- test 5 ----532------- test 6 ----546------- test 7 ----53662------- test 8 ----5455426------- test 9 ----26678268463------- test 10 ----463373633623------- test 11 ----282742662------- test 12 ----463373633623------- test 13 ----2336------- test 14 ----5264------- test 15 ----426Keep up the good work!Thanks for your submission!
usaco-namenum-pass
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。