首页 > 代码库 > 重新认识三观
重新认识三观
0 0
Wow! Such String! HDU 4850
西安邀请赛的D
从zzzz开始可以倒着卡值,顺着遍历能
弄出所有的符合要求的字符串
1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 #include <map> 5 #include <string> 6 #include <cmath> 7 #include <iostream> 8 #include <time.h> 9 #include <algorithm>10 #include <map> 11 using namespace std;12 #define ll long long13 #define maxn 20000514 const ll mod = 1000000007;15 int n, m, k, s, t;16 int a[26][26][26][26];17 int main(){18 int x = 0;19 while (scanf("%d", &n) != EOF){20 if (n >= 456980){ printf("Impossible\n"); continue; }21 memset(a, 0, sizeof a);22 a[25][25][25][25] = 1;23 int z = 25, x = 25, c = 25, v = 25;24 for (int i = 0; i < min(4,n); i++)printf("z");25 for (int i = 4; i < n; i++)26 for (int j = 0; j < 26; j++)27 if (!a[x][c][v][j]){28 a[x][c][v][j] = 1;29 printf("%c", ‘a‘ + j);30 x = c; c = v; v = j;31 break;32 }33 printf("\n");34 }35 }
而,直接弄aaaa开始会因没zaaa然后aaa没有匹配的结束。。。
个数是26^4个4个重叠在一起就是26^4+3
aaaa 和aaab重叠就是aaaab就是2个4长度的重叠2+3
其实从什么开始是一样的。
因为总会有剩余的序列,只不过不好弄了就。。
所有又不是一样的。
可是人们会觉得从不同的开始能完全卡出所有的数么。。。
也刚好zzzz是最后一个。。。如果往这方面想,倒是会试出来。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。