usaco-2.2-preface-pass
差点画蛇添足了,呵呵:
/* ID: qq104801 LANG: C++ TASK: preface */ #include <iostream> #include <fstream> #include <string> #include <vector> #include <cstdio> using namespace std; int n; char c[4][2]={'I','V','X','L','C','D','M'}; int cc[4][2]={0}; void calc(int n) { int w=0; while(n!=0) { switch(n%10) { case 1:cc[w][0]++;break; case 2:cc[w][0]+=2;break; case 3:cc[w][0]+=3;break; case 4:cc[w][0]++;cc[w][1]++;break; case 5:cc[w][1]++;break; case 6:cc[w][1]++;cc[w][0]++;break; case 7:cc[w][1]++;cc[w][0]+=2;break; case 8:cc[w][1]++;cc[w][0]+=3;break; case 9:cc[w+1][0]++;cc[w][0]++;break; //case 0:cc[w+1][0]++;break; } n/=10; w++; } } void test() { freopen("preface.in","r",stdin); freopen("preface.out","w",stdout); cin>>n; while(n)calc(n--); int i,j; for(i=0;i<4;i++) for(j=0;j<2;j++) if(cc[i][j])cout<<c[i][j]<<" "<<cc[i][j]<<endl; } int main () { test(); return 0; }
/* ID: qq104801 LANG: C++ TASK: preface */ #include <iostream> #include <fstream> #include <string> #include <vector> #include <cstdio> using namespace std; int n; char c[4][2]={'I','V','X','L','C','D','M'}; int cc[4][2]={0}; void calc(int n) { int w=0; while(n!=0) { switch(n%10) { case 1:cc[w][0]++;break; case 2:cc[w][0]+=2;break; case 3:cc[w][0]+=3;break; case 4:cc[w][0]++;cc[w][1]++;break; case 5:cc[w][1]++;break; case 6:cc[w][1]++;cc[w][0]++;break; case 7:cc[w][1]++;cc[w][0]+=2;break; case 8:cc[w][1]++;cc[w][0]+=3;break; case 9:cc[w+1][0]++;cc[w][0]++;break; //case 0:cc[w+1][0]++;break; } n/=10; w++; } } void test() { freopen("preface.in","r",stdin); freopen("preface.out","w",stdout); cin>>n; while(n)calc(n--); int i,j; for(i=0;i<4;i++) for(j=0;j<2;j++) if(cc[i][j])cout<<c[i][j]<<" "<<cc[i][j]<<endl; } int main () { test(); return 0; }
test data:
USER: cn tom [qq104801] TASK: preface LANG: C++ Compiling... Compile: OK Executing... Test 1: TEST OK [0.005 secs, 3372 KB] Test 2: TEST OK [0.003 secs, 3372 KB] Test 3: TEST OK [0.003 secs, 3372 KB] Test 4: TEST OK [0.003 secs, 3372 KB] Test 5: TEST OK [0.003 secs, 3372 KB] Test 6: TEST OK [0.003 secs, 3372 KB] Test 7: TEST OK [0.005 secs, 3372 KB] Test 8: TEST OK [0.003 secs, 3372 KB] All tests OK. Your program ('preface') produced all correct answers! This is your submission #2 for this problem. Congratulations! Here are the test data inputs: ------- test 1 ---- 1 ------- test 2 ---- 20 ------- test 3 ---- 100 ------- test 4 ---- 500 ------- test 5 ---- 1000 ------- test 6 ---- 2974 ------- test 7 ---- 3213 ------- test 8 ---- 3499 Keep up the good work! Thanks for your submission!
/***********************************************
看书看原版,原汁原味。
不会英文?没关系,硬着头皮看下去慢慢熟练,才会有真正收获。
没有原书,也要网上找PDF来看。
网上的原版资料多了去了,下载东西也到原始下载点去看看。
你会知其所以然,呵呵。
***********************************************/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步