摘要: #include <iostream>#include <stdio.h>#include <fstream> using namespace std;int main(){ FILE *fp = fopen("test.txt","wb"); //以写入读入方式创建一个二进制文件,并返回文件指针 if(fp==NULL){ printf("can not open the file test.txt!\n"); exit(1); } else{ printf("The file test 阅读全文
posted @ 2012-08-20 09:25 Pengchao Bai 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目描述:计算a+b输入:两个整数a,b(0<=a,b<=10)输出:输出a+b样例输入:1 2样例输出:3样例代码:#include <iostream>using namespace std;int main(){ int a,b; cin>>a>>b; cout<<a+b<<endl; return 0;}题目来源:http://poj.org/problem?id=1000 阅读全文
posted @ 2012-05-21 11:36 Pengchao Bai 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题意:由相邻的‘@’所组成的区域称为一块油田,问一共有多少块这样的油田?Source Code#include <iostream>using namespace std;const int N = 110;char g[N][N];int n,m;int r[8][2]={{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{1,1},{-1,1},{1,-1}};void bfs(int x, int y){ for(int i=0;i<8;i++){ if(x+r[i][0]>=0 && x+r[i][0]<n &&a 阅读全文
posted @ 2011-05-09 11:05 Pengchao Bai 阅读(243) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3211题意:一个男孩和一个女孩一起洗衣服,同一时间两个人可以各洗一件,但不允许两个人共同洗一件衣服。衣服有多种颜色,不能混着洗,否则会被染上其他颜色。他们两个只有把某种颜色的衣服都洗完,才能再去洗其他的。每件衣服,不论谁洗,都会花费一定量的时间。求两个人洗完所有的衣服至少要花费多长时间。尽管题不是很难,但还是WA了一次,还是做题量不够啊!重点:把某种颜色的衣服分给两个人洗时,所有的分配方案。Sample Input3 4red blue yellow2 red3 blue4 blue6 red0 0Sample Output10Source 阅读全文
posted @ 2011-04-28 17:31 Pengchao Bai 阅读(414) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2773题意:给定一个正整数,求与其互素的第K个整数。在这里要说一下什么叫互素:如果两个正整数X和Y的最大公约数为1,那么就说X与Y互素。这个用普通算法很容易超时,而有有些算法又篇幅较大。最后终于搜到一篇特别巧妙的算法,感觉自己一定要加强数学方面的学习。这个算法的核心代码有点不容易理解,想了半天也没弄的十分明白。有高手路过,请指点迷津!!!Sample Input2006 12006 22006 3Sample Output135Source Code#include <iostream> //求出<=m的互质的 大于m的都 阅读全文
posted @ 2011-04-28 14:42 Pengchao Bai 阅读(346) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2402题意:求从1开始的第i(1<= i <= 2*10^9)个数字回文。由于给出的测试数据范围太大,暴力搜索不得不丢弃。在网上找了两篇解题报告,看了好一会,才完全弄明白。解题方案:(1)先求出第i个数字回文的位数k,当位数为k时,k位数字组成的回文数为f(k)=9*10^((k-1)/2),可以根据这个公式计算出第i个数字回文由几个数字组成。(2)计算出第i个数字回文在k位数字组成的回文中的排名x。(3)计算出(k+1)/2位数字当中的最小值y,即1000···000;(4)回文的左部为y+=x- 阅读全文
posted @ 2011-04-28 10:53 Pengchao Bai 阅读(514) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1466题意:从n个男女同学中找出两两没有任何关系的最大人数。使用C++输入输出,WA了好几次,改了用C就过,也不知道怎么回事,好气愤啊!!!Sample Input70: (3) 4 5 61: (2) 4 62: (0)3: (0)4: (2) 0 15: (1) 06: (2) 0 130: (2) 1 21: (1) 02: (1) 0Sample Output52Source Code#include <iostream>using namespace std;const int N = 600;int pic[N][N 阅读全文
posted @ 2011-04-27 18:25 Pengchao Bai 阅读(267) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1488曾经做过一个类似的,也是对双引号进行修改。这题要使用整行读人,我习惯使用gets()函数,当然也有其他的函数get(cin,string s)、cin.getline(charArray, max_length,'\n')。但有时做字符串题时会发生与换行符有关的错误,不能理解!Sample Input"To be or not to be," quoth the Bard, "thatis the question".The programming contestant repl 阅读全文
posted @ 2011-04-26 20:55 Pengchao Bai 阅读(486) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1650题意很简单,给出两个数A (0.1 <= A < 10),L (1 <= L <= 100000),求出这样两个整数N,D(1 <= N, D <= L),要求满足|A - N / D|的值最小。一看题我就用了暴力搜索,结果竟然超时,有点不可思议,并伴有一点郁闷!!!看过几篇网上的解题报告,才深刻认识到:我的ACMP-ICPC之路还任重而道远啊!大体解题思路:令N=D=1,使用while循环,用N/D与A做比较:如果 N/D<A,那么N++;反之,D++。Sample Input3.14159 阅读全文
posted @ 2011-04-26 16:01 Pengchao Bai 阅读(348) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1012约瑟夫问题来历: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。 本题类似于这样一则描述:17世纪的法国数学家加斯帕 阅读全文
posted @ 2011-04-26 12:54 Pengchao Bai 阅读(890) 评论(0) 推荐(1) 编辑