WXY的打表器 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:256000KB; 代码长度限制:2000000B |
试题描述 |
WXY为了更快地解决已知样例的题目,经常使用打表的方法。然而手写打表程序实在是太麻烦了,于是WXY决定编一个打表器。怎么,你能帮帮他么? |
输入 |
第一行一个正整数n,表示样例的个数。后n行每行两个数,表示输入和输出。 |
输出 |
生成好的打表代码。 |
输入示例 |
3 16 7 25 8 43 19 |
输出示例 |
#include<cstdio> int n; int main() { scanf("%d",&n); if(n==16) puts("7"); else if(n==25) puts("8"); else if(n==43) puts("19"); return 0; } |
其他说明 |
必须按照样例的格式输出。 |
又是一道水题……只要按照他要求的输出就行了,没多大难度……
#include<cstdio>#include<iostream> using namespace std; int n,a,b; int main() { scanf("%d",&n); printf("#include<cstdio>\nint n;\nint main()\n{\n"); printf(" scanf("); cout<<‘"‘<<"%d"<<‘"‘; printf(",&n);\n"); for(int i=0;i<n;i++) { scanf("%d%d",&a,&b); if(i==0) cout<<" if(n=="<<a<<") puts("<<‘"‘<<b<<‘"‘<<");\n"; else cout<<" else if(n=="<<a<<") puts("<<‘"‘<<b<<‘"‘<<");\n"; } printf(" return 0;\n}"); //system("pause"); }
以上是我自己写的,比较简洁,专门对付测评机用的……
下面这是其他同学写的,比较人性化:
#include<iostream> using namespace std; int main() { int n; cin>>n; int a[n],b[n]; for(int i=0;i<n;i++) cin>>a[i]>>b[i]; cout<<"#include<cstdio>"<<endl; cout<<"int n;"<<endl; cout<<"int main()"<<endl<<"{"<<endl; cout<<" scanf(\"%d\",&n);"<<endl; cout<<" if(n=="<<a[0]<<")"<<" puts(\""<<b[0]<<"\");"; for(int i=1;i<n;i++) { cout<<endl<<" else if(n=="<<a[i]<<")"<<" puts(\""<<b[i]<<"\");"; } cout<<endl<<" return 0;"; cout<<endl<<"}"; //system("pause"); return 0; }
时间: 2024-10-14 04:41:50