摘要: 用法reverse(指针,长度)string: reverse( str.begin() , str.end() );char[]: reverse( str2 , str2 + len);int[]: reverse( num , num + n );View Code 1 #include<iostream> 2 #include<algorithm> 3 #include<string> 4 using namespace std; 5 int main() 6 { 7 string str = "abcdef"; //测试stri 阅读全文
posted @ 2012-08-26 21:15 zx雄 阅读(330) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2553用暴力的方法 , 二维数组米字型标记注意:标记恢复时会有重复的标记,所以标记时不能用used[x][y] == 1 要用 used[x][y]++即使只有1~10,10种数据但是这题输入的数据也非常多 所以要把数据用数组保存起来.View Code 1 #include <iostream> 2 using namespace std; 3 const int MAX = 10 + 5; 4 int used[MAX][MAX]; 5 int num; 6 int q; 7 void DFS 阅读全文
posted @ 2012-08-26 19:55 zx雄 阅读(523) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1116题意:给出N个字符串,若所以字符串能连成一串则输出Ordering is possible.否则输出The door cannot be opened.非常蛋疼的用了并查集.思路是用并查集找出所有字符串能不能形成一个集合(只有一个几个 + 用欧拉图的特性判断能不能把所有的点连成一线判断欧拉图: 欧拉回路:所有点的入度等于出度. 欧拉通路:有且仅有两个点的入度不等于出度且入度与出度相差1.(注意:判断时相差2的不能忽略,也要进行记录)View Code 1 #include <iostrea... 阅读全文
posted @ 2012-08-26 13:50 zx雄 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 判断欧拉图: 欧拉回路:所有点的入度等于出度. 欧拉通路:有且仅有两个点的入度不等于出度且入度与出度只相差1.(注意:判断时相差2的不能忽略,也要进行记录)View Code 1 int mark = 0;//记录 入度不等于出度且入度与出度相差大于1的点 2 int mark1 = 0;//记录 入度与出度 相差1的点的数量 3 int mark2 = 0; 4 int mark3 = 0;//记录 入度 == 出度 的点的数量 5 int num = 0;//记录总数 6 for(i=0;... 阅读全文
posted @ 2012-08-26 13:50 zx雄 阅读(195) 评论(0) 推荐(0) 编辑