摘要:
题目:http://poj.org/problem?id=1004水题#include <iostream>#include <stdio.h>#include <algorithm>#include <string>#include <string.h>#include <cstdlib>using namespace std;int main(){ float total=0; for(int i=0;i<12;i++) { float t; cin>>t; total+=t; } printf(&q 阅读全文
摘要:
题目:http://poj.org/problem?id=1003 模拟题,比1002简单好多...#include <iostream>#include <stdio.h>#include <algorithm>#include <string>#include <string.h>#include <cstdlib>using namespace std;int main(){ while(1) { float len; cin>>len; if(len==0) break; float temp=0; . 阅读全文
摘要:
题目:http://poj.org/problem?id=1002 模拟题 以前做了一半没做下去 现在重新做 WA了n次 cin读入效率不如scanf,cout输出000-0000会变成0-0,读入用的字符串开了20不够用 一怒之下开到200 结果AC了...#include <iostream>#include <stdio.h>#include <algorithm>#include <string>#include <string.h>#include <cstdlib>using namespace std;int 阅读全文
摘要:
题目:http://poj.org/problem?id=1159 一个字符串至少添加几个字符才能构成回文字符串思路:其实和上一题很像 把字符串反过来求最长公共子序列 但是这题卡了空间... 于是在网上看到滚动数组...#include <iostream>#include <algorithm>#include <string>#include <string.h>using namespace std;int dp[5005];int pre[5005];int main(){ int len; string str; while(cin&g 阅读全文
摘要:
题目:http://poj.org/problem?id=1458 最长公共子序列思路:DP#include <iostream>#include <string>#include <string.h>using namespace std;int dp[1000][1000];int main(){ string str1,str2; while(cin>>str1>>str2) { int len1,len2; len1=str1.size(); len2=str2.size(); memset(dp,0,siz... 阅读全文
摘要:
题目:http://soj.me/1350 n个储蓄罐 储蓄罐的钥匙在储蓄罐内 已知钥匙所在的储蓄罐 求最少打破几个储蓄罐才能取出钱。思路:求图中环的个数由于图中每个点的出度只有1,所以不存在一个点处于两个环的交点因此,求环的个数时每个只需要考虑一次便可得出结果由于数据规模庞大,写成递归形式容易暴栈在读边的过程中先对自环进行预处理,之后对每个点进行不同的染色,对它的下一个点也染同样的颜色这样染下去如果发现下一个要染的点和正在染的颜色相同,则说明存在一个环换染色起点的同时也需要更换新的染色,才能保证对环的判断正确又一次栽在多case的初始化上...#include <iostream> 阅读全文
摘要:
题目:http://soj.me/1155 n座城市 m条道路 问能否从第一座城市走到最后一座城市思路:广度优先搜索#include <iostream>#include <queue>#include <memory.h>using namespace std;bool map[205][205];bool visit[205];int n,m;bool bfs(){ queue<int> q; q.push(0); while(!q.empty()) { int temp=q.front(); q.pop(); ... 阅读全文