11 2012 档案

poj 1363 rail
摘要:c++ 栈的模拟火车进站,不过又 遇到了这么坑爹的输入输出方式,搞得头大,没办法,为了以后的少吃亏,还是认真点吧5// 表示进站的数N,如果等于0,结束整个循环1 2 3 4 5// 出站的顺序5 4 1 2 3// 出站的顺序0// 表示这一组数据处理完毕,空行6// 表示进站数N6 5 4 3 2 1// 出站的顺序0// 表示这一组数据处理完毕0// 结束整个循环自己捉摸了写了个栈与队列组合的程序,不过时间确实有些多282ms;内存还好些 700 B;#include<iostream>#include<stack>#include<queue>usi 阅读全文

posted @ 2012-11-30 20:58 元点之始 阅读(232) 评论(0) 推荐(0)

hdu 1004 颜色问题
摘要:题意很简单,为了练习一下,用STL 库中map做的#include<iostream>#include<string>#include<map>using namespace std;map<string,int> M;map<string,int>::iterator q,p;int main(){ int T; string str; while(cin>>T,T) { M.clear(); while(T--) { cin>>str; if(M[str] == 0) M[str] = 1; else { 阅读全文

posted @ 2012-11-30 17:00 元点之始 阅读(134) 评论(0) 推荐(0)

HDU 4278 网络赛水题
摘要:这道题就是一道进制之间的转换问题,八进制转换为十进制,不过由题意可知表上没有3和8两个数,所以在处理上应注意顺序为{0,1,2,0,3,4,5,6,0,7}写的时候可以用字符串处理,从左往右;也可以从右往左用数字处理,我采用的后者;#include<iostream>using namespace std;int a[10] = {0,1,2,0,3,4,5,6,0,7};int main(){ long long int N,sum,k,n; while(cin>>N,N) { sum = 0; k = 1; n = N; while(N) { sum += a[N% 阅读全文

posted @ 2012-11-30 15:11 元点之始 阅读(154) 评论(0) 推荐(0)

hdu 1061 位
摘要:对这道题不想说什么,写的代码一直超时,原来是有规律的,既然错了,就记下来,给自己一个警醒吧题目 转用ac代码#include <stdio.h>int main(){ int t,n,table[10][4]={{0,0,0,0},{1,1,1,1},{6,2,4,8},{1,3,9,7},{6,4,6,4}, {5,5,5,5},{6,6,6,6},{1,7,9,3},{6,8,4,2},{1,9,1,9}}; scanf("%d",&t); while (t--) { scanf("%d",&n); ... 阅读全文

posted @ 2012-11-25 21:00 元点之始 阅读(150) 评论(0) 推荐(0)

poj 1376 机器人广搜
摘要:/*郁闷了好久,才理解了此题,参考了几位大神的代码才写出了自己的,希望可以对后来者有所帮助这道题题意并不难理解,但是是在处理数据时时感到不会;题中说一个机器人从给定的起始坐标点到给定的终点坐标点;需要注意的是1.机器人所走的是图的路线,而数据所给的是图框中的值,所以输入时应对数据进行处理,把数据还原成先前的“图”;2,机器人是有体积的,胖胖的,所以要注意不要让机器人走边界(题目描述有问题)3.题目中涉及了 机器人 走路的 步数(可以走 1, 2 , 3 步)问题,注意如果第一步不能走,那么后面两步也走不通,所以应该一步一步的判断走方向问题,可以从现在的方向向左转向右转,每次转90度,不能一次转 阅读全文

posted @ 2012-11-23 21:42 元点之始 阅读(331) 评论(0) 推荐(1)

poj 1028 浏览器栈
摘要:题目说的很明白了,按照题意做就行了第一次用栈,wa了几次,注意弄清关系,别弄混当前页和栈中页的状态就不多说了#include<iostream>#include<stack>#include<string>//#include<fstream>using namespace std;int main(){ string p = "http://www.acm.org/"; stack<string> backward; stack<string> forward; string s; backward. 阅读全文

posted @ 2012-11-20 13:52 元点之始 阅读(243) 评论(0) 推荐(0)

poj 1050 子矩阵
摘要:做过最大子段和之后再看这题,看到相当熟悉,不同的是,一个是一维的而这一个是二维的;郁闷的是做了N久,里面的好几步骤都写乱了粗心大意不可取啊#include<iostream>//#include<fstream>using namespace std;int num[110][110];int temp[110],dp[110];int Max;int main(){ int N,k; //ifstream cin("in.txt"); while(cin>>N) { for(int i=1;i<=N;i++) { for(int 阅读全文

posted @ 2012-11-15 20:01 元点之始 阅读(130) 评论(0) 推荐(0)

poj 2593 最大子段和
摘要:和poj 2#include<stdio.h>#include<string.h>int num[500100];int leftmax[500100];int rightmax[500100];int pre[500100];int max(int a,int b){ return a>b?a:b;}int main(){ int n,zmax,l,r; while(scanf("%d",&n)&& n!= 0) { memset(leftmax,0,sizeof(leftmax)); memset(rightmax, 阅读全文

posted @ 2012-11-13 21:56 元点之始 阅读(192) 评论(0) 推荐(0)

poj 2479 最大子数段
摘要:由题意通过提示可以知道 这组数据最大子数段是可以相连着呢,所以可以从左往右搜一次,然后从右往左搜一次,最后取最大值比较注意#include<stdio.h>#include<string.h>int num[50010];int leftmax[50010];int rightmax[50010];int pre[50010];int max(int a,int b){ return a>b?a:b;}int main(){ int T,n,zmax,l,r; scanf("%d",&T); while(T--) { memset(le 阅读全文

posted @ 2012-11-13 21:44 元点之始 阅读(139) 评论(0) 推荐(0)

poj 1979 简单深搜 一次 ac 不解释
摘要:#include<iostream>#include<cstring>//#include<fstream>using namespace std;int bmp[4][2]={{0,1},{0,-1},{1,0},{-1,0}};char num[25][25];int m,n,sum;bool cheak(int a,int b){ if(a >= 1 && a <= m && b >= 1 && b <= n) return true; return false;}void dfs 阅读全文

posted @ 2012-11-09 15:58 元点之始 阅读(238) 评论(0) 推荐(0)

hdu 1024 最大子段和
摘要:真心感觉自己做这种dp题太难了,看了很久才想通,代码是别人的,自己只是借助自己的理解说说这题这道题是十分经典的dp题,最大子段和问题,题中给出一段数字串,第一个数表示有几个数字段,第二个数表示后面即将输出几位数字这段代码中 数据比较大,输入很多,所以采用c语言中的输入scanf_s用来提高效率,然后注意 题中的三个数组和一个表示以前最大值的数max_pre;单个字符可自成一个数字段;思想是 先逐个把各个数相加,取最大的值赋予给当前数组,并把最大值付给 max_pre;然后再把最大值付给以前数组;这样可以把求出各个字段的值,并用max_pre保存住最大的那个;#include<iostre 阅读全文

posted @ 2012-11-08 11:28 元点之始 阅读(267) 评论(0) 推荐(0)

hdu 1003 dp
摘要:确实十分经典的一题,但我是参照dicuss 的题目做的,真是惭愧啊,希望可以多接触些dp类型的题,提高自己水平格外注意 sum 的代表含义,#include<iostream>#include<fstream>using namespace std;int sum[100001],s[100001],first[100001];int main(){ int N,T,i,k,temp,p; ifstream cin("in.txt"); cin>>N; for(i=0;i<N;i++) { cin>>T; ... 阅读全文

posted @ 2012-11-06 21:26 元点之始 阅读(161) 评论(0) 推荐(0)

poj 1088
摘要:初入dp界,好悲催,应该好好地做些动规的题了,用的是 记忆化搜索的方法,就是另开一个数组用来记录 处理过得数据,最后再搜索数组找到结果,不过对于我来说,怎么找这个循环节确实是个难题,从此要多锻炼了 #include<iostream> #include<cstdio> using namespace std; int map[105][105]; int f[][2]={{1,0},{0,1},{-1,0},{0,-1}};//搜索上下左右四个方向 int vis[105][105] ;//用来储存处理过的对应坐标的数据 int m , n ; int dp ( int 阅读全文

posted @ 2012-11-05 21:01 元点之始 阅读(182) 评论(0) 推荐(0)

50个c/c++源代码网站
摘要:分类:常用知识2012-04-15 22:5523人阅读评论(0)收藏举报C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/--数以千计的有用的C语言源代码片段2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --提供数 阅读全文

posted @ 2012-11-03 10:01 元点之始 阅读(171) 评论(0) 推荐(0)

poj 1321 深搜题
摘要:题目有些类似八皇后的问题,棋盘的形状是什么样对于解题并无影响,难点在于如何处理给定棋子数 和 棋盘行列数数的关系;行列数n = k 时,k<n时#include<iostream>#include<string>using namespace std;int n,k,sum;char map[10][10];//二维数组存储数据bool fangzhi[110];//判断棋盘中是否放置了棋子,标记作用void dfs(int x,int y)//x 指代的是棋盘搜索的行数, y代表的是已经放置的棋子数{ if(y == k) // 如果已经放置的棋子数等于 题目中 阅读全文

posted @ 2012-11-02 16:35 元点之始 阅读(180) 评论(0) 推荐(0)

导航