摘要:题解:第一:两个字符不相等(即栈顶字符与目标字符不相等);这种情况很容易处理,将匹配word的下一个字符入栈,指针向后挪已为继续递归。第二:两个字符相等(即栈顶字符与目标字符相等);这种情况有两种选择 (1)字符出栈,并将目标word的指针向后挪一位,继续递归;(2)将匹配word的下一个字符入栈,指针向后挪一位,继续递归;每一次递归用path记录下来路径。当目标word的指针超过最后一位了,说明成功,此时将path输出。#include#include#includeusing namespace std;char str1[1005],str2[1005];int len1,len2;ch
阅读全文
摘要:list 的翻转reverse源码:// 将链表倒置 // 其算法核心是历遍链表, 每次取出一个结点, 并插入到链表起始点 // 历遍完成后链表满足倒置 template void list::reverse() { if (node->next == node || link_type(node->next)->next == node) return; iterator first = begin(); ++first; while (first != end()) { iterator old = first; ++first; ...
阅读全文
摘要:1.扯犊子超多if else 判断的代码,华丽丽的TLE。#include#include#define N 1010int map[N][N];int f[4][2]= {0,1,1,0,0,-1,-1,0};struct Node{ int x,y; int f;};int main(){ int n; Node tig,don; while(scanf("%d",&n)!=EOF&&n) { memset(map,0,sizeof(map)); scanf("%d %d %d",&don.x,&don.y,&
阅读全文
摘要:#include #include #include #include #include #include #include using namespace std;#define PB push_back#define MP make_pairtypedef vector > VP;vector mixture;VP backpack;maprecipe;map value,state,type,cost;int gold;inline void init(void){ gold=0; backpack.clear(); recipe.clear(); mixture...
阅读全文
摘要:题意: 上一行的3个音符决定下一行的1个音符题解: 查找与替换 选择的输出的保存方式#include<stdio.h>#include<string.h>#include<vector>#include<map>#include<string>#include<iostream>#include<algorithm>using namespace std;string s1,s2;map<string,char>ma;char a[5];int main(){ int _case,m; int x,
阅读全文
摘要:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1159#include<stdio.h>#include<string.h>#include<set>#include<vector>using namespace std;struct node{ int num; int like; friend bool operator <(node a, node b) { if(a.like>b.like)return true; if(a.like==b.like&
阅读全文
摘要:#include<stdio.h>int main(){ int n; int sum; while(scanf("%d",&n)!=EOF&&n!=0) { int a[4]= {1,0,0,0}; int b[4]= {1,0,0,0}; sum=0; for(int i=2; i<=n; i++) { a[0]+=b[1]; a[1]=b[2]; a[2]=b[3]; a[3]=a[0]; ...
阅读全文
摘要:http://acm.whu.edu.cn/land/problem/detail?problem_id=1462#include<stdio.h>#include<list>#include<deque>//TLE//#incldue<fstream>#include<iostream>using namespace std;//list<int>la,lb,lc;//list<int>::reverse_iterator rit;//list<int>::iterator it;deque<
阅读全文
摘要:#include<stdio.h>#include<math.h>#define zero 1e-10int main(){ int _case; char ys; int a,b,c; double d; while(scanf("%d",&_case)) { while(_case--) { getchar(); scanf("%c %d %d",&ys,&a,&b); if(ys=='+')printf("%d\n",a+b); ...
阅读全文
摘要:#include<stdio.h>#include<map>#include<string>#include<iostream>using namespace std;map<string,char>ms;map<char,char>mc;string s1,s2,si;int main(){ int t; ms["21"]='A'; ms["22"]='B'; ms["23"]='C'; ms["31&q
阅读全文
摘要:模拟题:http://acm.whu.edu.cn/land/problem/detail?problem_id=1478#include<stdio.h>#include<string>#include<list>#include<iostream>using namespace std;string s;string ::iterator its;list<char>l;list<char>::iterator itl;int main(){ int n; scanf("%d",&n); f
阅读全文
摘要:充分的用到题目的五条法则: 过的了测试数据应该就能过了!!#include<stdio.h>#include<vector>#include<string.h>#include<algorithm>using namespace std;vector<int>v;vector<int>::iterator it;int main(){ int T,N,i,j,k,x; int st,ed; int a[32][32]; char s[5]; int dis; while(scanf("%d",&
阅读全文