Educational Codeforces Round 60 (Rated for Div. 2)E(思维,哈希,字符串,交互)
2024-08-28 22:10:22
#include <bits/stdc++.h>
using namespace std;
int main(){
string t;
cin>>t;
int n=t.size();
string s1(n,'a'),s2(n,'a'),s3(n,'a');
for(int i=0;i<n;i++){
s1[i]=char('a'+(i%26));//从a到z循环
s2[i]=char('a'+((i/26)%26));//第i位为(i/26)%26+'a',保证了26*26内不会和s1相同
s3[i]=char('a'+((i/26/26)%26));//保证了26^3内不会和s1相同,类似哈希编码
}
cout<<"? "<<s1<<endl;
string t1;
cin>>t1;
cout<<"? "<<s2<<endl;
string t2;
cin>>t2;
cout<<"? "<<s3<<endl;
string t3;
cin>>t3;
vector<int>p(n);
for(int i=0;i<n;i++)
p[i]=(t1[i]-'a')+(t2[i]-'a')*26+(t3[i]-'a')*26*26;//将变化后的值根据编码还原
string s(n,'a');
for(int i=0;i<n;i++)
s[p[i]]=t[i];//26^3>1000,所以可行
cout<<"! "<<s<<endl;
return 0;
}
最新文章
- [个人翻译]Redis 集群教程(上)
- 第二十四篇:导出SOUI对象到LUA脚本
- 在本地主机上powershell中连接远程主机执行vbs脚本,得到执行结果(2008版及以上)
- Xcode8新特性和iOS10新特性
- wpf 绑定ObservableCollection 的Count属性
- Tomcat日志与Log4j日志
- python之路(9)反射、包装类、动态模块导入
- 《SpringMVC从入门到放肆》九、SpringMVC注解式开发(简单参数接收)
- 【从零开始自制CPU之学习篇07】最简单的ALU—全加器
- 易忘&;有用 的冷门Anaconda命令
- editplus注册码生成
- 030-IHttpModule
- C++ 属性类
- python变量和变量赋值的几种形式
- spring boot开发笔记——mybatis
- 【python-pip】pip安装国外插件timeout解决方案
- linux c中select使用方法
- Unity3d-Particle System 5.x系统的学习(四)
- 16、Java并发编程:Timer和TimerTask
- Elasticsearch学习总结--原理篇