良心送给大家一块表

P1079 [NOIP2012 提高组] Vigenère 密码

不妨说,管理咋不和谐你?
by 自动Wrong机 @ 2017-02-08 19:37:17


虽然与题目有关联
by 自动Wrong机 @ 2017-02-08 19:38:12


#有种你发题解 ~~装X~~
by Malgré_L_Guerre @ 2017-02-08 19:49:51


这表可以速生成吧…… 如果在NOIP当中需要用这类表,我会迅速打开Python生成。 下面给大家一个生成这个表的Python程序(和上面的表不太一样,但大体相同) ```python l=[] for i in range(ord('A'),ord('A')+26): s='"' for j in range(i,ord('Z')+1): s+=chr(j) for j in range(ord('A'),i): s+=chr(j) l.append(s+'"') print("string x[]={"+",\n".join(l)+"};") ```
by Sweetlemon @ 2017-02-08 20:36:19


[查看楼上代码及运行结果](http://ideone.com/fYWuOE)
by Sweetlemon @ 2017-02-08 20:38:18


ac代码: #include <bits/stdc++.h> using namespace std; string x[30] = {"\*ABCDEFGHIJKLMNOPQRSTUVWXYZ", "AABCDEFGHIJKLMNOPQRSTUVWXYZ", "BBCDEFGHIJKLMNOPQRSTUVWXYZA", "CCDEFGHIJKLMNOPQRSTUVWXYZAB", "DDEFGHIJKLMNOPQRSTUVWXYZABC", "EEFGHIJKLMNOPQRSTUVWXYZABCD", "FFGHIJKLMNOPQRSTUVWXYZABCDE", "GGHIJKLMNOPQRSTUVWXYZABCDEF", "HHIJKLMNOPQRSTUVWXYZABCDEFG", "IIJKLMNOPQRSTUVWXYZABCDEFGH", "JJKLMNOPQRSTUVWXYZABCDEFGHI", "KKLMNOPQRSTUVWXYZABCDEFGHIJ", "LLMNOPQRSTUVWXYZABCDEFGHIJK", "MMNOPQRSTUVWXYZABCDEFGHIJKL", "NNOPQRSTUVWXYZABCDEFGHIJKLM", "OOPQRSTUVWXYZABCDEFGHIJKLMN", "PPQRSTUVWXYZABCDEFGHIJKLMNO", "QQRSTUVWXYZABCDEFGHIJKLMNOP", "RRSTUVWXYZABCDEFGHIJKLMNOPQ", "SSTUVWXYZABCDEFGHIJKLMNOPQR", "TTUVWXYZABCDEFGHIJKLMNOPQRS", "UUVWXYZABCDEFGHIJKLMNOPQRST", "VVWXYZABCDEFGHIJKLMNOPQRSTU", "WWXYZABCDEFGHIJKLMNOPQRSTUV", "XXYZABCDEFGHIJKLMNOPQRSTUVW", "YYZABCDEFGHIJKLMNOPQRSTUVWX", ```cpp "ZZABCDEFGHIJKLMNOPQRSTUVWXY"}; inline char findchar(char n1, char n2){ int k1, k2, i; for (i = 1; i <= 26; ++ i){ if (x[0][i] == n1){ k1 = i; break; } } for (i = 1; i <= 26; ++ i){ if (x[i][k1] == n2){ k2 = i; break; } } return x[k2][0]; } int main(){ int i; vector<int> jishu; string miyaok, miwen, ans; getline(cin, miyaok), getline(cin, miwen); for (i = 0; i < miwen.size(); ++ i) if (miwen[i] >= 'a' && miwen[i] <= 'z') jishu.push_back(i); for (i = 0; i < miyaok.size(); ++ i) miyaok[i] = toupper(miyaok[i]); for (i = 0; i < miwen.size(); ++ i) miwen[i] = toupper(miwen[i]); for (i = 0; i < miwen.size(); ++ i) ans.push_back(findchar(miyaok[i % miyaok.size()], miwen[i])); for (i = 0; i < jishu.size(); ++ i) ans[jishu[i]] = tolower(ans[jishu[i]]); cout << ans << endl; return 0; } ```
by Alextokc @ 2017-02-09 15:32:11


@[Alextokc](/space/show?uid=26050) 可是,根本不需要这表
by 1124828077ccj @ 2017-02-09 19:13:50


@[2016陈常杰](/space/show?uid=14738) 党然啦。。。
by Alextokc @ 2017-02-09 19:39:37


HEHE
by QRcode @ 2017-02-28 20:18:44


LINUXtr,strupr都不行
by pupuvovovovovo @ 2017-05-03 20:20:14


| 下一页