http://acm.hdu.edu.cn/showproblem.php?pid=4731

就做了两道...也就这题还能发博客了...虽然也是水题

先暴力DFS打表找规律...发现4个一组循环节...尾部特殊判断....然后构造一下...

#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int ss;
int f(const string& strs) {
string s("##");
for(string::const_iterator it = strs.begin(); it != strs.end(); ++it) {
s.push_back(*it);
s.push_back('#');
}
int len = s.length(), id = , mx = ;
vector<int> p(len, );
for(int i = ; i < len; ++i) {
p[i] = mx > i ? min(mx - i, p[*id-i]) : ;
while(s[i+p[i]] == s[i-p[i]]) {
++p[i];
}
if(i + p[i] > mx) {
mx = i + p[i];
id = i;
}
}
int start = , sublen = ;
for(int i = ; i < len; ++i) {
if(p[i] > sublen) {
sublen = p[i];
start = i;
}
}
return sublen - ;
}
int main(){
//pre();
int n,m;
int T;
cin>>T;
for(int t = ; t <= T ; t++){
scanf("%d%d",&m,&n);
printf("Case #%d: ",t);
if(m == ){
for(int i = ; i < n ; i++) printf("a");
}
else if(m >= ){
for(int i = ; i < n ; i++) {
if(i% == ) putchar('a');
if(i% == ) putchar('b');
if(i% == ) putchar('c');
}
}else if(m == ){
if(n == ) printf("a");
if(n == ) printf("ab");
if(n == ) printf("aab");
if(n == ) printf("aabb");
if(n == ) printf("aaaba");
if(n == ) printf("aaabab");
if(n == ) printf("aaababb");
if(n == ) printf("aaababbb");
if(n >= ){
string a = "aaaa";
for(int i = ; i < n ;){
if(i+<n) {
a+="babb";
i+=;
}
if(i+>=n) {
if(i+==n) a+="a";
if(i+==n) a+="aa";
if(i+==n) a+="aaa";
if(i+==n) a+="aaaa";
break;
}
if(i+<n) {
a+="aaba";
i+=;
}
if(i+>=n) {
if(i+==n) a+="b";
if(i+==n) a+="bb";
if(i+==n) a+="bba";
if(i+==n) a+="bbaa";
break;
}
if(i+<n) {
a+="bbaa";
i+=;
}
if(i+>=n) {
if(i+==n) a+="a";
if(i+==n) a+="aa";
if(i+==n) a+="bab";
if(i+==n) a+="babb";
break;
}
}
cout<<a;
}
}
putchar('\n');
}
return ;
}

最新文章

  1. grails 优缺点分析
  2. 利用varnish做Discuz论坛的缓存服务器
  3. Spring系列之AOP实现的两种方式
  4. MQTT——java简单测试(二)
  5. selenium多个窗口切换
  6. 端口转发后执行putty连接------------------》VirtualBox+ubuntu_server
  7. api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
  8. Navicat(连接) -1之Navicat Cloud
  9. Linux on Power 上的调试工具和技术
  10. AngularJS如何给动态添加的DOM中绑定事件
  11. linux之SQL语句简明教程---ORDER BY
  12. Design Pattern Iterator 迭代器设计模式
  13. ios webview 加载含有中文的URL网页显示白屏
  14. ImageMagick wrapper for php
  15. LeetCode 笔记总结
  16. Introducing: Machine Learning in R(转)
  17. [bzoj4245][ONTAK2015]OR-XOR
  18. 2. struct A 和 typedef struct A
  19. HDU 1060  Leftmost Digit
  20. SpringBoot的Profiles根据开发环境和测试环境载入不同的配置文件

热门文章

  1. Python常用目录操作(Python2)
  2. Linux 下安装 redis 详情
  3. 免费录屏软件之OBS Studio
  4. Log4j2打印一行日志时返回本行日志的字符串
  5. 关于HttpClient模拟浏览器请求的參数乱码问题解决方式
  6. cocos2d-x 3.1.1学习笔记[23]寻找主循环 mainloop
  7. nginx大量TIME_WAIT的解决办法--转
  8. hashCode 和 equals 方法
  9. sqlserver bulk insert
  10. c#时间差高精度检查