uoj60 怎样提高智商
2024-09-05 17:37:11
题意:你需要构造n个四项选择题。格式为:问在前i个问题中选了几个hi字母?
输出有最多正确答案的构造方案。
标程:
#include<cstdio>
using namespace std;
typedef long long ll;
const int mod=;
int ksm(int x,int y)
{
int res=;
while (y) {if (y&) res=(ll)res*x%mod; x=(ll)x*x%mod; y>>=;}
return res;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",(ll)ksm(,n-)*%mod);
for (int i=;i<n;i++) puts("A 1 0 0 0");
puts("A 0 0 0 0");
return ;
}
题解:构造
大力猜结论
考虑怎样让答案之间的影响最小,不然到后面难以构造。
不管什么字母,第一局的答案一定是0。所以我们可以给第一局设一个错误答案,该选项一定不会被选。
第二局就询问这个选项被选了几次,答案也一定是0,于是再在同一位置设错误答案。以此类推。
最后一行不用顾忌下一行,四个都是0即可。
正确答案数有3^(n-1)*4.
最新文章
- 转!java基础笔记
- Android6.0之来电转接号码显示修改
- Silverlight OOB程序签名问题
- 本地与在线图片转Base64及图片预览
- 双人对战的球类游戏IOS源码
- rabbitMQ安装及部署
- JZ2440开发笔记(1)——arm-linux-gcc环境搭建
- Ubuntu16.04安装Anaconda2
- ie9上传后下载json
- 可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)
- 配置AlwaysON出错
- 增加显示记录数的label及隐藏refresh按钮
- 第九周PSP&;进度条
- 第五章&#160;二叉树(a)树
- vb6 的关机代码
- MyBatis学习笔记(一)创建第一个MyBatis项目
- (转载)Linux进程间通信
- 读取Properties配置文件, 四种方式都可以得到webroot/WEB-INF/classes这个路径
- C# 反射(Reflection)
- ubuntu命令收集