非传统题(一) |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:262144KB; 代码长度限制:2000000B |
试题描述 |
大家好!我是COJ第一道非传统题,是不是感觉非常的excited? 作为第一道非传统题,自然要给大家水一水。 不过呢首先要告诉大家什么是非传统题?非传统题实际上就是没有固定的输入输出,很奇怪的题目。本题作为一道引例希望大家喜欢~ 接下来是题目内容: 很久很久以前,chx出过一道大水题。 ------------可是,很可惜他丢失了样例。。。。 现在,chx给你这道题的一套样例,你需要猜测chx出的是什么题然后编写程序解决它,祝你好运! 为了大家调试方便,本题的镜像将会放在练习场里,大家可以看到自己哪个测试点不对。 请从这里下载样例:链接: http://pan.baidu.com/s/1gd8L7qV 密码: ad5q |
输入 |
呵呵 |
输出 |
呵呵 |
输入示例 |
呵呵 |
输出示例 |
呵呵 |
其他说明 |
保证所有的运算在int范围内。 |
题解:加,乘,素数,逗比共同组成了这道题哈哈我好天才呀啦啦啦~
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<queue>
#include<cstring>
#define PAU putchar(' ')
#define ENT putchar('\n')
using namespace std;
inline int read(){
int x=,sig=;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')sig=-;ch=getchar();}
while(isdigit(ch))x=*x+ch-'',ch=getchar();
return x*=sig;
}
inline void write(int x){
if(x==){putchar('');return;}if(x<)putchar('-'),x=-x;
int len=,buf[];while(x)buf[len++]=x%,x/=;
for(int i=len-;i>=;i--)putchar(buf[i]+'');return;
}
const int Safe=;
int gcd(int a,int b){return !b?a:gcd(b,a%b);}
int mul(int a,int b,int p){
int tmp=(a*b-(int)((double)a/p*b+1e-)*p);
return tmp<?tmp+p:tmp;
}
int pow(int a,int b,int p){
int ans=;a%=p;
for(int i=b;i;i>>=,a=mul(a,a,p))
if(i&)ans=mul(ans,a,p);
return ans;
}
bool check(int a,int n,int r,int s){
int ans=pow(a,r,n),p=ans;
for(int i=;i<=s;i++){
ans=mul(ans,ans,n);
if(ans==&&p!=&&p!=n-) return true;
p=ans;
} if(ans!=)return true;return false;
}
bool MR(int n){
if(n<=) return false;
if(n==) return true;
if(!(n&)) return false;
int r=n-,s=;
while(!(r&)) r>>=,s++;
for(int i=;i<Safe;i++)
if(check(rand()%(n-)+,n,r,s)) return false;
return true;
}
int n;
void solve1(){
n=read();
for(int i=;i<=n;i++){
write(read()+read());ENT;
} return;
}
void solve2(){
n=read();
for(int i=;i<=n;i++){
write(MR(read())?:);ENT;
} return;
}
void solve3(){
n=read();
for(int i=;i<=n;i++){
write(read()*read());ENT;
} return;
}
void solve4(){
puts("你的程序需要在此处输出程序本身。听起来很难?努力吧!!!哈哈哈");
return;
}
void init(){
int type=read();
if(type==) solve1();
else if(type==) solve2();
else if(type==) solve3();
else solve4();
return;
}
void work(){
return;
}
void print(){
return;
}
int main(){init();work();print();return ;}