摘要: 1 #include <iostream> 2 #include <algorithm> 3 #include <vector> 4 using namespace std; 5 6 bool cmp(const pair<int ,int > &a,const pair<int ,int > &b) 7 { 8 return a.second < b.second;//由小到大排序 9 }10 11 int main()12 {13 int i,j,k,T;14 int num;15 cin>>nu 阅读全文
posted @ 2012-09-15 22:29 加拿大小哥哥 阅读(1400) 评论(2) 推荐(2)
摘要: 将字母A-Z编码,A为1,B为2,……依此类推,Z为26;则ABC编码为123。但是反向解码时,解码结果不唯一,比如123可以解码为 1-2-3:ABC,解码为12-3:LC,解码为1-23:AW(注意,127不能解码为1-27,因为范围只能为1-26)。现给出一组编码后的数字串,让你求该数字串可以有几种解码方式(上例中,123对应着3种解码方式)。问题输入将保证其为一个合法的数字串。比如100是 一个不合法的数字串,因为0或者00不代表一个字母;此外01不能视为1。 Sample Input25114 1111111111 3333333333 Sample Output6 89 1 1 / 阅读全文
posted @ 2012-09-15 13:37 加拿大小哥哥 阅读(414) 评论(0) 推荐(2)
摘要: 吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1<=M<=5)组每组测试数据的第一行输入一个正整数N(1<=N<=100000)和一个正整数S(1<=S<=100000),N表示城市的总个数,S表示参观者所在城市的编号随后的N-1行,每行有两个正整数a,b(1<=a,b 阅读全文
posted @ 2012-09-15 12:59 加拿大小哥哥 阅读(678) 评论(0) 推荐(0)
摘要: 1 #include <cstdio> 2 #include <cstdlib> 3 #include <iostream> 4 #include <cstring> 5 #include <algorithm> 6 #include <string> 7 using namespace std; 8 /* 9 bool cmp(char *a,char *b)10 {11 int len1 = strlen(a);12 int len2 = strlen(b);13 return len1>len2;14 }15 阅读全文
posted @ 2012-09-15 10:13 加拿大小哥哥 阅读(224) 评论(0) 推荐(0)
摘要: 1.如果不加cin.ignore();这行,s2将不会被输入。原因是缓冲区每次结尾的时候还有/n,而getline()一开始读的时候认为已经结束,就返回空行。 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 int main( ) 5 { 6 string s; 7 cin >> s; 8 string s2; 9 //cin.ignore();10 getline(cin, s2);11 cout << "s2:" << s2 阅读全文
posted @ 2012-09-15 00:26 加拿大小哥哥 阅读(1222) 评论(0) 推荐(0)