锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍙傝冭祫鏂欙細(xì) 鍒樻睗浣熾婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖?/font>銆婄畻娉曞璁恒?/font> 鎺ㄨ崘棰樼洰錛?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 綆鍗?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 涓瓑錛岀粡鍏窽SP闂 http://acm.pku.edu.cn/JudgeOnline/problem?id=2411 涓瓑錛岀姸鎬佸帇緙〥P http://acm.pku.edu.cn/JudgeOnline/problem?id=1112 涓瓑 http://acm.pku.edu.cn/JudgeOnline/problem?id=1848 涓瓑錛屾爲(wèi)褰P銆?/font>鍙弬鑰冦婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬪姩鎬佽鍒掍竴鑺傜殑鏍?wèi)鐘舵ā鍨?/font> http://acm.zju.edu.cn/show_problem.php?pid=1234 涓瓑錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鐨勪範(fàn)棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1947 涓瓑錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鐨勪範(fàn)棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1946 涓瓑錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鐨勪範(fàn)棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1737 涓瓑錛岄掓帹 http://acm.pku.edu.cn/JudgeOnline/problem?id=1821 涓瓑錛岄渶瑕佸噺灝戝啑浣欒綆?/font> http://acm.zju.edu.cn/show_problem.php?pid=2561 涓瓑錛屽洓杈瑰艦涓嶇瓑寮忕殑綆鍗曞簲鐢?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1038 杈冮毦錛岀姸鎬佸帇緙〥P錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1390 杈冮毦錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=3017 杈冮毦錛岄渶瑕侀厤鍚堟暟鎹粨鏋勪紭鍖栵紙鎴戠殑棰樼洰^_^錛?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1682 杈冮毦錛屽啓璧鋒潵姣旇緝楹葷儲 http://acm.pku.edu.cn/JudgeOnline/problem?id=2047 杈冮毦 http://acm.pku.edu.cn/JudgeOnline/problem?id=2152 闅撅紝鏍?wèi)迮濪P http://acm.pku.edu.cn/JudgeOnline/problem?id=3028 闅撅紝鐘舵佸帇緙〥P錛岄鐩緢鏈夋剰鎬?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=3124 闅?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2915 闈炲父闅?/font> 浜?鎼滅儲 鍙傝冭祫鏂欙細(xì) 鍒樻睗浣熾婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖?/font> 鎺ㄨ崘棰樼洰錛?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1011 綆鍗曪紝娣辨悳鍏ラ棬棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1324 涓瓑錛屽箍鎼?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2044 涓瓑錛屽箍鎼?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2286 杈冮毦錛屽箍鎼?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1945 闅撅紝IDA*錛岃凱浠e姞娣辨悳绱紝闇瑕佽緝濂界殑鍚彂鍑芥暟 http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 闅撅紝鍙噸澶岾鏈鐭礬錛孉*銆?/font>鍙弬鑰冭В棰樻姤鍛? http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144 http://acm.pku.edu.cn/JudgeOnline/problem?id=1190 闅撅紝娣辨悳鍓灊錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1084 闅撅紝銆婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩範(fàn)棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2989 闅撅紝娣辨悳 http://acm.pku.edu.cn/JudgeOnline/problem?id=1167 杈冮毦錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1069 寰堥毦 涓? 甯哥敤鏁版嵁緇撴瀯 鍙傝冭祫鏂欙細(xì) 鍒樻睗浣熾婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖?/font> 銆婄畻娉曞璁恒?/font> 綰挎鏍?wèi)璧勬枡锛?xì) http://home.ustc.edu.cn/~zhuhcheng/ACM/segment_tree.pdf 鏍?wèi)鐘舵暟缁勮祫鏂?/font> http://home.ustc.edu.cn/~zhuhcheng/ACM/tree.ppt 鍏充簬綰挎鏍?wèi)鍜屾爲(wèi)鐘舵暟缁勬洿澶氱浉鍏冲唴瀹瑰彲鍦ň|戜笂鎼滃埌 鍚庣紑鏁扮粍璧勬枡 http://home.ustc.edu.cn/~zhuhcheng/ACM/suffix_array.pdf http://home.ustc.edu.cn/~zhuhcheng/ACM/linear_suffix.pdf 鎺ㄨ崘棰樼洰 http://acm.pku.edu.cn/JudgeOnline/problem?id=2482 杈冮毦錛岀嚎孌墊爲(wèi)搴旂敤錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1151 綆鍗曪紝綰挎鏍?wèi)搴旂敤鐭╁舰闈⒖U茍錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=3225 杈冮毦錛岀嚎孌墊爲(wèi)搴旂敤錛屽彲鍙傝冭В棰樻姤鍛?/font> http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1233 http://acm.pku.edu.cn/JudgeOnline/problem?id=2155 闅撅紝浜岀淮鏍?wèi)鐘舵暟缁勩?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2777 涓瓑錛岀嚎孌墊爲(wèi)搴旂敤銆?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2274 闅撅紝鍫嗙殑搴旂敤錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.zju.edu.cn/show_problem.php?pid=2334 涓瓑錛屽乏鍋忔爲(wèi)錛屼簩欏瑰紡鍫嗘垨鍏朵粬鍙悎騫跺爢鐨勫簲鐢ㄣ?/font> 宸﹀亸鏍?wèi)鍙傝?http://www.nist.gov/dads/HTML/leftisttree.html 浜岄」寮忓爢鍙傝銆婄畻娉曞璁恒嬬浉鍏崇珷鑺?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1182 涓瓑錛屽茍鏌ラ泦 http://acm.pku.edu.cn/JudgeOnline/problem?id=1816 涓瓑錛屽瓧鍏告爲(wèi) http://acm.pku.edu.cn/JudgeOnline/problem?id=2778 杈冮毦錛屽涓插尮閰嶆爲(wèi) 鍙傝冿細(xì) http://home.ustc.edu.cn/~zhuhcheng/ACM/zzy2004.pdf http://acm.pku.edu.cn/JudgeOnline/problem?id=1743 闅撅紝鍚庣紑鏁扮粍 http://acm.pku.edu.cn/JudgeOnline/problem?id=2774 杈冮毦錛屾渶闀垮叕鍏卞瓙涓詫紝緇忓吀闂錛屽悗緙鏁扮粍 http://acm.pku.edu.cn/JudgeOnline/problem?id=2758 寰堥毦錛屽悗緙鏁扮粍 鍙弬鑰冭В棰樻姤鍛?/font> http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1178 http://acm.pku.edu.cn/JudgeOnline/problem?id=2448 寰堥毦錛屾暟鎹粨鏋勭患鍚堣繍鐢?/font> 鍥?鍥捐鍩虹 鍙傝冭祫鏂欙細(xì) 鍒樻睗浣熾婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖?/font>銆婄畻娉曞璁恒?/font>銆婄綉緇滅畻娉曚笌澶嶆潅鎬х悊璁恒嬭阿鏀?/font> 鎺ㄨ崘棰樼洰: http://acm.pku.edu.cn/JudgeOnline/problem?id=2337 綆鍗曪紝嬈ф媺璺?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=3177 涓瓑錛屾棤鍚戝浘鍓茶竟 http://acm.pku.edu.cn/JudgeOnline/problem?id=2942 杈冮毦錛屾棤鍚戝浘鍙岃繛閫氬垎鏀?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1639 涓瓑錛屾渶灝忓害闄愬埗鐢熸垚鏍?wèi)锛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2728 涓瓑錛屾渶灝忔瘮鐜囩敓鎴愭爲(wèi)錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=3013 綆鍗曪紝鏈鐭礬闂 http://acm.pku.edu.cn/JudgeOnline/problem?id=1275 涓瓑錛屽樊鍒嗙害鏉熺郴緇燂紝Bellman-Ford姹傝В錛屻婄畻娉曡壓鏈笌淇℃伅瀛︾珵璧涖嬩腑鏈夎В絳?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=1252 綆鍗曪紝Bellman-Ford http://acm.pku.edu.cn/JudgeOnline/problem?id=1459 涓瓑錛岀綉緇滄祦 http://acm.pku.edu.cn/JudgeOnline/problem?id=2391 杈冮毦錛岀綉緇滄祦 http://acm.pku.edu.cn/JudgeOnline/problem?id=1325 涓瓑錛屼簩閮ㄥ浘鏈澶у尮閰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2226 杈冮毦錛屼簩閮ㄥ浘鏈澶у尮閰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2195 涓瓑錛屼簩閮ㄥ浘鏈澶ф潈鍖歸厤 KM綆楁硶鍙傝冦婄綉緇滅畻娉曚笌澶嶆潅鎬х悊璁恒?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2516 杈冮毦錛屼簩閮ㄥ浘鏈澶ф潈鍖歸厤 http://acm.pku.edu.cn/JudgeOnline/problem?id=1986 涓瓑錛孡CA錛堟渶榪戝叕鍏辯鍏堬級闂 鍙傝僒arjan's LCA algorithm 銆婄畻娉曞璁恒嬬21绔犱範(fàn)棰?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2723 杈冮毦錛?-SAT闂 鍙傝冿細(xì)http://home.ustc.edu.cn/~zhuhcheng/ACM/2-SAT.PPT http://acm.pku.edu.cn/JudgeOnline/problem?id=2749 杈冮毦錛?-SAT闂 http://acm.pku.edu.cn/JudgeOnline/problem?id=3164 杈冮毦錛屾渶灝忔爲(wèi)褰㈠浘 鍙傝冦婄綉緇滅畻娉曚笌澶嶆潅鎬х悊璁恒嬩腑鏈?鍒樼畻娉?/font> 浜?鏁拌鍙?qiáng)缁勫悎璁℃暟鍩杭媭 http://acm.pku.edu.cn/JudgeOnline/problem?id=1811 綆鍗曪紝绱犳暟鍒ゅ畾錛屽ぇ鏁板垎瑙?/font> 鍙傝冪畻娉曞璁虹浉鍏崇珷鑺?/font> http://acm.pku.edu.cn/JudgeOnline/problem?id=2888 杈冮毦錛孊urnside寮曠悊 http://acm.pku.edu.cn/JudgeOnline/problem?id=2891 涓瓑錛岃В妯℃柟紼嬬粍 http://acm.pku.edu.cn/JudgeOnline/problem?id=2154 涓瓑錛岀粡鍏擱棶棰橈紝娉㈠埄浜氬畾鐞?/font> http://cs.scu.edu.cn/soj/problem.action?id=2703 闅撅紝鏋佸ソ鐨勯鐩紝Burnside寮曠悊+妯$嚎鎬ф柟紼嬬粍 http://acm.pku.edu.cn/JudgeOnline/problem?id=2764 杈冮毦錛岄渶瑕佹暟瀛︽柟娉曪紝璇ユ柟娉曞湪銆婂叿浣撴暟瀛︺嬬涓冪珷鏈夎 http://acm.pku.edu.cn/JudgeOnline/problem?id=1977 綆鍗曪紝鐭╅樀蹇熶箻娉?/font>
2 #include<map>
3 #include<set>
4 #include<vector>
5 #include<deque>
6 using namespace std;
7 inline int adj(int n)
8 {
9 int dmin=n,i;
10 int tmp=(1<<13);
11 for(i=1;i<13;i++)
12 {
13 n<<=1;
14 if(n&tmp)
15 {
16 n-=tmp;
17 n|=1;
18 }
19 if(dmin>n)
20 dmin=n;
21 }
22 return dmin;
23 }
24 inline int change(int n,int a,int b)
25 {//cout<<a<<" "<<b<<" ";
26 int i;
27 for(i=0;i<3;i++)
28 {
29 if(a==13)a=0;
30 if(b==26)b=13;
31 int t1=(n>>a)&1;
32 int t2=(n>>b)&1;
33 if(t1!=t2)
34 {
35 if(t1==1)
36 {
37 n-=(1<<a);
38 n+=(1<<b);
39 }
40 else
41 {
42 n+=(1<<a);
43 n-=(1<<b);
44 }
45 }
46 a++;
47 b++;
48 }
49 int ans=0;
50 ans|=adj(n>>13)<<13;
51 ans|=adj(n&((1<<13)-1));
52 return ans;
53 }
54 int main()
55 {
56 int i,j,k;
57 int start=0xE3FF;
58 vector<int>a;
59 map<int,int >Smap;
60 Smap[start]=1;
61 Smap[(1<<13)-1]=0;
62 int tmp;
63 for(i=0;i<13;i++)
64 for(j=13;j<26;j++)
65 {
66 tmp=change(start,i,j);
67 a.push_back(tmp);
68 if(Smap.find(tmp)==Smap.end())
69 Smap[tmp]=2;
70 }
71 for(k=0;k<a.size();k++)
72 for(i=0;i<13;i++)
73 for(j=13;j<26;j++)
74 {
75 tmp=change(a[k],i,j);
76 if(Smap.find(tmp)==Smap.end())
77 {
78 Smap[tmp]=3;
79 }
80 }
81 char ch[30];
82 while(gets(ch)>0)
83 {
84 start=0;
85 for(i=0;i<26;i++)
86 {
87 if(ch[i]=='y')
88 start|=1;
89 start<<=1;
90 }
91 start>>=1;
92 int tt=start;
93 start=0;
94 start|=adj(tt&((1<<13)-1));
95 start|=(adj(tt>>13))<<13;//cout<<start<<"--------"<<tt<<endl;
96 deque<int>q;
97 set<int>Iset;
98 q.push_back(start);
99 q.push_back(0);
100 int ans=-1;
101 if(Smap.find(start)!=Smap.end())
102 {
103 ans=Smap[start];
104 goto out;
105 }
106 while(!q.empty())
107 {
108 int now=q.front();
109 q.pop_front();
110 int cost=q.front();
111 q.pop_front();
112 for(i=0;i<13;i++)
113 for(j=13;j<26;j++)
114 {
115 tmp=change(now,i,j);
116 if(Smap.find(tmp)!=Smap.end())
117 {
118 ans=cost+Smap[tmp]+1;
119 goto out;
120 }
121 if(Iset.find(tmp)==Iset.end())
122 {
123 Iset.insert(tmp);
124 q.push_back(tmp);
125 q.push_back(cost+1);
126 }
127 }
128 }
129 out:
130 printf("%d\n",ans);
131 }
132 }