北邮OJ 980. 16校赛-R_clover's Challenge
来源:互联网 发布:军阀割据知乎 编辑:程序博客网 时间:2024/05/18 23:55
时间限制 2000 ms 内存限制 65536 KB
题目描述
R_clover wants to challenge Mengmengda_wsw's math,so he give her a function
where
Here,
And
The
R_clover gives Mengmengda_wsw
However, it is so easy for Mengmengda_wsw. She enumerate all kinds of
But R_clover won't let she solve the problem with computer, so he increases the difficluty.
He provides
Now it is too hard for Mengmengda_wsw, can you help her?
输入格式
The first line contains an integer
For the next
输出格式
For each case, print two integers in a line, respectively indicating
输入样例
11063899164 441357888
输出样例
24533 30870
其次,我们看到f(x)和g(x)的运算已经给出,我们可以分别写出逆函数_f(x)和_g(x)
题目给出,f(f(x,k1),k2)=y,那么我们已知用逆函数_f(x)枚举k2,逆求出所有可能的f(x,k1)的值,把k2和逆求出的f(x,k1)存在一个set里。
然后我们根据已知x的值,枚举k1,求出所有可能的f(x,k1),如果跟之前求出的set里的f(x,k1)的值匹配上了,那么就可以得到k1和k2了。
#include<cstdio>#include<cmath>#include<algorithm>#include<map>using namespace std;int M=(1<<15)-1;int gx(int x,int k){ int tmp=x&(M); int tmp2=x>>15; return (tmp<<15) + ( tmp2^((tmp*k)%M) );}int fx(int x,int k){ for(int i=0;i<8;i++){ x=gx(x,k); } return x;} int gx2(int x,int k){ int tmp=x&(M); int tmp2=x>>15; return tmp2 + ( (tmp^((tmp2*k)%M))<<15 );}int fx2(int x,int k){ for(int i=0;i<8;i++){ x=gx2(x,k); } return x;}map<int,int>rec;int main(){ int t; int a,b,x,y; for(scanf("%d",&t);t--;){ scanf("%d%d",&x,&y); rec.clear(); for(int i=0;i<M;i++){ rec[fx(x,i)]=i; } for(int i=M;i>0;i--){ int t=fx2(y,i); if(rec[t]){ printf("%d %d\n",rec[t],i); break ; } } } return 0;}
- 北邮OJ 980. 16校赛-R_clover's Challenge
- 北邮OJ 981. 16校赛-Saber's Number Game
- 北邮OJ 1022. 16校赛-Saber's Board
- Cheng's Regression Challenge
- Facebook’s Challenge and Future
- Kaggle’s WordPress Challenge: The Like Graph
- Sicily 13060. Queen Dido’s New Challenge
- 北邮OJ 2016网预 - Saber's Conjecture
- CDQZ Challenge 16
- OJ---Peter's Smoke
- oj(一)s
- OJ 1.S
- Eva's Balance-OJ
- 南阳oj S + T
- 北邮OJ 884. 16校赛-Average Modulo
- 北邮OJ 1010. 16校赛-Binary Strings
- 北邮OJ 1021. 16校赛-Stone Game
- OJ---Eddy's AC难题
- 主流开源编解码器Xvid,x264,ffmpeg 性能对比
- 讯飞语音包实现Android语音理解①
- 静态的adapter
- initWithFrame 与initWithCoder
- iOS跳转界面时隐藏tabBar的方法
- 北邮OJ 980. 16校赛-R_clover's Challenge
- 关于H5里的API,上传图片预览功能
- hibrenate @ManyToOne(fetch = FetchType.EAGER) 和 lazy 区别
- 基于单目视觉的车道偏离预警算法研究
- onkeyup 事件
- 五大常用算法
- Android5.0系统的优缺点
- EDUP无线网卡在 Raspberry配置方法 RTL8188CUS芯片
- c语言的学生成绩管理系统