思路:

递归。

比赛的时候脑抽了len[]没算够,wa了几次。

实现:

 #include <bits/stdc++.h>
using namespace std;
using ll = long long;
const string s = "What are you doing at the end of the world? Are you busy? Will you save us?";
const string t = "What are you doing while sending \"";
const string v = "\"? Are you busy? Will you send \"";
const ll len_s = s.length();
const ll len_t = t.length();
const ll len_v = v.length();
ll len[];
char dfs(ll n, ll k)
{
if (n == )
{
if (k >= && k <= len_s) return s[k - ];
else return '.';
}
else if (n >= )
{
if (k <= len_t) return t[k - ];
return dfs(n - , k - len_t);
}
else
{
if (k <= len_t) return t[k - ];
else if (k > len_t && k <= len_t + len[n - ])
return dfs(n - , k - len_t);
else if (k > len_t + len[n - ] && k <= len_t + len[n - ] + len_v)
return v[k - len_t - len[n - ] - ];
else if (k > len_t + len[n - ] + len_v && k <= len_t + * len[n - ] + len_v)
return dfs(n - , k - len_t - len[n - ] - len_v);
else if (k == len_t + * len[n - ] + len_v + )
return '\"';
else if (k == len_t + * len[n - ] + len_v + )
return '?';
else return '.';
}
}
int main()
{
len[] = (ll)len_s;
for (int i = ; i <= ; i++)
{
len[i] = len[i - ] * + len_t + len_v + ;
}
ll q, n, k;
cin >> q;
while (q--)
{
cin >> n >> k;
cout << dfs(n, k);
}
return ;
}

最新文章

  1. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
  2. 第五次团队作业——第一次项目冲刺——Alpha版本
  3. SQLServer中的页如何影响数据库性能 (转)
  4. parse output
  5. HMAC-MD5算法原理及实现
  6. jquery easyui datagrid使用参考
  7. 在Linux环境下安装和配置phpmyadmin
  8. jQuery学习教程(3)
  9. HW5.34
  10. Tomcat 集群
  11. js方法的命名不能使用表单元素的名称或ID
  12. (转)基于企业级证书的IOS应用打包升级功能介绍
  13. centos6安装vncserver实现图形化访问
  14. box-sizing的不同属性值间的区别
  15. day17
  16. tiny4412 --uboot移植(1)
  17. js实现截取或查找字符串中的子字符串
  18. kali linux中文输入法
  19. Docker三剑客之Docker Compose
  20. (转)在GitHub多个帐号上添加SSH公钥

热门文章

  1. Windows7下ftp服务器
  2. scp、paramiko、rsync复制文件的区别
  3. POJ3977 Subset 折半枚举
  4. jq 常用手册
  5. 完整显示当前日期和时间的JS代码
  6. 从零開始学android&amp;lt;Bitmap图形组件.四十七.&amp;gt;
  7. Spring+Quartz实现定时任务的配置方法(插曲)
  8. 模式识别之车牌识别---一个开源车牌识别项目easypr
  9. 稀疏表示 Sparse Representation
  10. createTextNode和innerHTML什么区别