POJ
EddyLiu-csdn
博客已迁移至( https://liucaiquan.site/about/)
展开
-
POJ-2013
#include#include#include#include#include#includeusing namespace std;int main(int argc, char *argv[]){ int num; int caseNum=0; while(cin>>num,num){ caseNum++; multimap mInput; for(int原创 2015-09-20 13:21:44 · 295 阅读 · 0 评论 -
POJ-2871
题目分析:1. 求两次实验的温度差值;2.以保留两位小数的形式输出;解题思路:水题;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ float preTemp=-1; float curTemp; while(cin>>curTemp,curT原创 2015-12-10 08:21:34 · 306 阅读 · 0 评论 -
POJ-2363
#includeusing namespace std;int minWrapper(int n){ int min=INT_MAX; for(int x=1;x<=n;x++){ for(int y=1;y<=n;y++){ if(x*y>n){ break; } float zF=n*1.0/x/y; int zI=(int)zF; i原创 2015-11-01 11:53:23 · 403 阅读 · 0 评论 -
POJ-2459
#include#includeusing namespace std;#define MAX_DAY 2000int main(int argc, char *argv[]){ int array[MAX_DAY+1]; memset(array,0,(MAX_DAY+1)*sizeof(int)); int c, f1, f2, d; cin>>c>>f1>>f2>>d;原创 2015-11-01 14:50:59 · 288 阅读 · 0 评论 -
POJ-2390
#includeusing namespace std;int main(int argc, char *argv[]){ int r, m, y; cin>>r>>m>>y; double total=m; for(int i=0;i<y;i++){ total*=(1+r*1.0/100); } cout<<(int)total<<endl; return 0;原创 2015-11-01 14:24:42 · 294 阅读 · 0 评论 -
POJ-3062
题意理解真是没读懂题意;解题方法:整行输入,整行打印输出;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ string s; while(getline(cin,s)){ cout<<s<<endl; } return 0;}原创 2015-12-11 16:10:16 · 276 阅读 · 0 评论 -
POJ-2909
题意理解:求解一个偶数可以分解成多少个素数对,要求每对素数之和为这个偶数。解题思路:素数(A)求解,好像没有什么特别的方法,只能减少遍历区间[2, sqrt(A)]。解题代码:#include#includeusing namespace std;bool isPrime(int num){ int sqrValue=sqrt(1.0*num);原创 2015-12-11 10:17:04 · 362 阅读 · 0 评论 -
POJ-2924
题目分析:按照给定的公式,求解所有数的和;解题思路:1)利用等差数列求解公式;2)使用__int64类型定义变量;3)注意打印输出时,每个scenario大于结束后,都要留一个空行;解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int caseNum; c原创 2015-12-11 12:08:19 · 365 阅读 · 0 评论 -
POJ-3006
题意理解:求解以a为初始值,d为差值的等差数列中,第n个素数;解题思路:1. 穷举;2. 将对素数A的判断区间缩小到[2, sqrt(A)]范围内;解题代码:#include#includeusing namespace std;bool isPrime(int num){ if(num<2){ return false; } for(i原创 2015-12-11 13:06:10 · 422 阅读 · 0 评论 -
POJ-3030
题意理解:如果r>e-c,则不用做广告;如果r=e-c, 则做不做广告无所谓;如果r解题思路:水题;解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int caseNum; cin>>caseNum; for(int i=0;i<caseNum;i++){原创 2015-12-11 15:49:57 · 499 阅读 · 0 评论 -
POJ-2365(用例通过,但一直WA,参考的方法没有太看懂)
#include#include#includeusing namespace std;int main(int argc, char *argv[]){ int edgeNum; double r; cin>>edgeNum>>r; double x0, y0; double perimeter=0; double preX, preY; double x,y; fo原创 2015-11-01 13:36:57 · 354 阅读 · 0 评论 -
POJ-2301
#includeusing namespace std;int main(int argc, char *argv[]){ int caseSum; cin>>caseSum; for(int i=0;i<caseSum;i++){ int sum, diff; cin>>sum>>diff; float bigger=(sum+diff)*1.0/2; float原创 2015-10-31 14:26:48 · 425 阅读 · 0 评论 -
POJ-2247
#includeusing namespace std;#define MAX_INPUT 5842 int index2=0; int index3=0; int index5=0; int index7=0; int humbleNum[MAX_INPUT]={1}; void calcHumbleNum(){ int index=1; while(1){原创 2015-10-31 14:10:25 · 482 阅读 · 0 评论 -
POJ-2081
#include#includeusing namespace std;#define MAX_K 500000int main(int argc, char *argv[]){ int v[MAX_K+1]; bool hash[3012501]; memset(hash,false,sizeof(hash)); int aM_1=0; v[0]=aM_1; hash[0原创 2015-10-11 21:32:12 · 397 阅读 · 0 评论 -
POJ-2028
#include#include#includeusing namespace std;int main(int argc, char *argv[]){ int n,q; while(cin>>n>>q,n!=0 || q!=0){ map date; map::iterator pos=date.begin(); for(int i=0;i<n;i++){ in原创 2015-10-11 11:19:29 · 338 阅读 · 0 评论 -
POJ-2039
#include#includeusing namespace std;int main(int argc, char *argv[]){ int colume; while(cin>>colume,colume){ string s; cin>>s; for(int i=0;i<colume;i++){ for(int j=i;j<s.size();j+=colum原创 2015-10-11 12:05:21 · 259 阅读 · 0 评论 -
POJ-2070
#includeusing namespace std;int main(int argc, char *argv[]){ float speed,weight,strength; while(cin>>speed>>weight>>strength,speed||weight||strength){ bool flag1=false; bool flag2=false; b原创 2015-10-11 12:26:56 · 375 阅读 · 0 评论 -
POJ-2027
#includeusing namespace std;int main(int argc, char *argv[]){ int num; cin>>num; for(int i=0;i<num;i++){ int a,b; cin>>a>>b; if(a<b){ cout<<"NO BRAINS"<<endl; }else{ cout<<"MMM B原创 2015-10-11 09:20:19 · 349 阅读 · 0 评论 -
poj-2579
#include#include#includeusing namespace std;string array[9];int main(int argc, char *argv[]){ string startFlag; while(cin>>startFlag,startFlag!="ENDOFINPUT"){ int r,c; cin>>r>>c; for(i原创 2015-11-14 12:04:27 · 391 阅读 · 0 评论 -
POJ-2591
#include#includeusing namespace std;#define MAX 10000000int array[MAX];int main(int argc, char *argv[]){ memset(array,0,sizeof(array)); int index2=0; int index3=0; array[0]=1; for(int i原创 2015-11-14 12:22:21 · 379 阅读 · 0 评论 -
POJ-2350
#include#includeusing namespace std;int gradeArray[1000];int main(int argc, char *argv[]){ int caseNum; cin>>caseNum; for(int i=0; i<caseNum;i++){ int studentNum; cin>>studentNum; int原创 2015-10-31 16:45:50 · 484 阅读 · 0 评论 -
POJ-2328
#include#includeusing namespace std;#define MAX 10#define MIN 1int main(int argc, char *argv[]){ bool isCheating=false; int regionLow=MIN-1; int regionHigh=MAX+1; int guessNum; while(cin>原创 2015-10-31 16:06:14 · 360 阅读 · 0 评论 -
POJ-3077
题意理解:1)从最低位起,逢5进1,并将处理的位数字变为0;2)当被处理位为最高位时,直接打印该位数字;解题思路:利用string来求解;解题代码:#include#includeusing namespace std;#define ROUND 5int array[9];int main(int argc, char *argv[]){原创 2015-12-12 12:17:56 · 365 阅读 · 0 评论 -
POJ-3100
题意理解:求解指数的Pow(A,N)的底A,使得pow(A,N)最接近B;解题分析:水题;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ int B,N; while(cin>>B>>N, B||N){ int preDiff=B; int转载 2015-12-12 21:33:44 · 313 阅读 · 0 评论 -
POJ-2606
#include#includeusing namespace std;#define MAX 200int dot[MAX][2];int main(int argc, char *argv[]){ memset(dot,0,sizeof(dot)); int rabbitNum; cin>>rabbitNum; for(int i=0;i<rabbitNum;i++原创 2015-12-05 18:57:50 · 407 阅读 · 0 评论 -
POJ-2608
#include#includeusing namespace std;#define MAX_EXC 8#define MAX_ARRAY 7string exc="AEIOUHWY";string letters[MAX_ARRAY]={"","BFPV","CGJKQSXZ","DT","L","MN","R"};int main(int argc, char *arg原创 2015-12-06 00:08:02 · 439 阅读 · 0 评论 -
POJ-2665
题目分析:求解移走划定区域树木后,剩下树木的个数。解题思路:没什么特别的地方。解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int L,M; while(cin>>L>>M,L||M){ int treeLeft=L+1; for(int i=0;i<M;原创 2015-12-06 18:46:24 · 354 阅读 · 0 评论 -
POJ-2840
题目分析:13:00-24:00 敲钟次数为当前点钟减去12;其余,时段敲钟次数为当前点数加上12;解题思路:水题。解题代码:#include#includeusing namespace std;int strikeTimes(string time){ int hour=0; if(time.length()==4){ if(time[3原创 2015-12-06 19:08:53 · 359 阅读 · 0 评论 -
POJ-2636
题目分析:求解将所有插排(outlets)连接到一起后,能够有多少插孔可供电器使用;解题思路:插孔数=所有插排插孔数之和-插排数+1;代码:#includeusing namespace std;int main(int argc, char *argv[]){ int inputCase; cin>>inputCase; for(int i=0;i<in原创 2015-12-06 10:33:41 · 387 阅读 · 0 评论 -
POJ-2656
题目分析:校内和校外的时间之和大于8,JinJin就会觉得不开心。解题思路:找到第一个输入对之和大于8的输入。#includeusing namespace std;int main(int argc, char *argv[]){ int testCases; while(cin>>testCases,testCases){ bool unhappy原创 2015-12-06 10:50:26 · 413 阅读 · 0 评论 -
POJ-2664
题意分析:3 2 //3-所选的所有课程(k) 2-所选的课程目录(m)0123 9876 2222 //所选的课程编号2 1 8888 2222 //2-课程目录编号(c) 1-该目录下,最少选择课程(r)3 2 9876 2222 7654 //同上解题方法:简单模拟解题代码:#include#includeusing namespace s原创 2015-12-06 18:26:43 · 337 阅读 · 0 评论 -
OJ解题总结
1. 基本数据结构1)数组;2)链表;3)string;2. STL工具1)vectot;2)map;3) hash(使用map来实现)4)string;5)algorithm: find(),sort();3. 题目分类1)模拟;2)规律/证明;3)数论相关:越界4)字符串处理:字串、回文4. 算法思想1)原创 2016-01-10 18:55:39 · 506 阅读 · 0 评论 -
POJ-2159
#include#include#includeusing namespace std;int alphabet1[26];int alphabet2[26];int main(int argc, char *argv[]){ string line1; cin>>line1; memset(alphabet1, 0, 26); string line1Org="";原创 2015-10-18 10:47:19 · 405 阅读 · 0 评论 -
POJ-2864
题意理解:7 2 // 7-alumni个数 2-dinner场数1 0 1 0 1 0 1 //每个alumni参加dinner的情况0 1 0 1 0 1 0 //同上只要有一个alumni同时参加所有的dinner,就打印yes,否则打印no;解题思路:水题解题代码:#include#includeusing namespace std原创 2015-12-06 21:05:13 · 296 阅读 · 0 评论 -
POJ-3386
题意理解:判断圆A和圆B是否同时在圆P中;题目分析:1.A在B中,B在P中;2.B在A中,A在P中;3.AB不相交,均在P中;解题代码:#includeusing namespace std;int main(int argc, char *argv[]){ int A,a,B,b,P; cin>>A>>a>>B>>b>>P; if((a>原创 2015-12-15 09:13:00 · 460 阅读 · 0 评论 -
POJ-3302
题意理解:求字符串S2或其反转的字符串S2‘ 是否为字符串S1的子串;解题思路:1. 借助递归分别将S1,S2分解为其子串进行比较;2.利用string的find(),substring()方法;解题代码:#include#includeusing namespace std;string reverseString(string s){ stri原创 2015-12-14 08:50:16 · 498 阅读 · 0 评论 -
POJ-3086
题目理解:按照所给公式求和;解题思路:水题;解题代码:#includeusing namespace std;int Tn(int n){ return n*(1+n)/2;}int main(int argc, char *argv[]){ int caseNum; cin>>caseNum; for(int i=0;i<caseNum;i原创 2015-12-12 14:26:30 · 547 阅读 · 0 评论 -
POJ-3094
题意理解:将输入的以大写字母和空格组成的字符串,按规则计算checksum;解题思路:可以借助getline()来完成对字符串的整行输入;解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ string s; while(1){ getline(ci原创 2015-12-12 14:53:58 · 415 阅读 · 0 评论 -
POJ-3096
题意理解:从给定字符串中,每隔固定间隔取两个字符,组成一对。如果针对所有固定间隔取出的数对均不相等,则该字符串为surprise字串。解题思路:利用map容器,第一个值不能相同的特性进行问题求解;解题代码:#include#include#include#includeusing namespace std;int main(int argc, ch原创 2015-12-12 16:22:28 · 470 阅读 · 0 评论 -
POJ-3117
题意理解:比赛赢的队获得3分,打平每队获得1分;题目分析:打平比赛场数=3*比赛场数-所有队比赛得分和解题代码:#include#includeusing namespace std;int main(int argc, char *argv[]){ int t,n; while(cin>>t>>n, t){ int scoreSum=0;原创 2015-12-13 11:02:06 · 446 阅读 · 0 评论