码迷,mamicode.com
首页 > 其他好文 > 详细

CNUOJ 2058 WXY的打表器

时间:2015-07-13 17:44:04      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

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;
}

 

CNUOJ 2058 WXY的打表器

标签:

原文地址:http://www.cnblogs.com/xiaoshenWXY/p/4643175.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!