贴些poj超级水题(AC)(1)

poj1002:电话上按键对应着数字。现在给n个电话,求排序。相同的归一类
poj1003:求最小的n让1+1/2+1/3+...+1/n大于给的一个实数
poj1004:求一堆实数的平均数
poj1005:由坐标 (0,0) 开始,以半圆为形状每年侵蚀50m^2,问(0,0)开始到(x,y)结束需要多长时间
poj1006:三个周期是常数。现在给三个周期出现高峰的时候,问下一次出现高峰是什么时候
poj1007:求字符串排序
poj1008:一种日历,计算日期数量
poj1012:Joseph问题
poj1013:给3次称硬币的结果问哪个是假币且假币比真币轻还是重
poj1016:一个数串这样变化:它的后继是:它含有几个1,含有几个2...问循环情况
poj1017:1×1,2×2,3×3,4×4,5×5,6×6的产品放到6×6×h的盒子里。求h最小值。
poj1028:模拟网页浏览
poj1031:求一个点是否在凸包里面
poj1032:把n分成若干个不同的数的和,求最大乘积
【2+3+...如果多出来就从最大一个数开始加1】
poj1045:数学公式
poj1046:给16个底色,后给若干个颜色问与前面哪个距离最小?
poj1051:一个字符串,每个字母都有一个代替。现在把那个代替又代了一些回去,求原串。
poj1056:给若干个字符串,问是否有一个是另外一个的前缀?
【其实可以用trie来做,不过暴力可过】
poj1061:给出两只青蛙的坐标(一条经线上),每个青蛙条一次的距离,问跳多少次可以碰到?
poj1065:处理n个木棍,每个木棍有两个参数。如果一个前面一个处理的不比它大就可以不用转换时间,否则需要1个时间。问最少转换时间?
poj1083:一共400个房间,南边200个北边200个。从一个房间搬东西到另外一个房间需要10min,此期间其他人就不能通过这段路,一个房间最多一次搬入或者搬出。
【统计每段路通过几次求max】
poj1118:给若干个点求含最多点的直线含点数
poj1146:求一个字符串后面一个字典序
【next_permutation函数】
poj1183:arctan(1/a)=arctan(1/b)+arctan(1/c),给出a,求b+c最小的解
【数学推导】
poj1207:每个数进行如下操作:如果是偶数/2,如果是奇数*3+1。问一个区间内可以操作操作次数最多的那个数的操作次数
【直接做就可以过】
poj1218:求1-n之间有多少个平方数
poj1256:求一个字符串的全排列
【next_permutation函数】
poj1298:字母替换问题
poj1517:求i=0-9 e=∑0<=i<=n1/i!的数值
poj1657:给棋盘上的起始点和终止点,求王、后、车、象的最短距离
poj1833:求后面一个字典序
【next_permutation函数】
poj1835:模拟一个宇航员运动。(三维,左转右转上转下转前转后转)
poj1936:给两个s和t两个字符串。问t删去一些字符后是否可与s相同
poj2027:比较两个数的大小
poj2159:俩密码。问前面一个可不可能是后一个的原码。
【相同字母数相同】
poj2262:对1000000内的偶数进行哥德巴赫猜想
poj2606:给若干个点求含最多点的直线含点数
poj2656:有n天,如果一天的上课时间+课外时间>8就不开心。求最早一天不开心的时间。
poj2663:2×1的多米诺牌来覆盖3×n的长方形问方案数
poj2739:求一个数可以表示成多少种连续素数的和。
poj2780:给若干个点求含最多点的直线含点数
poj3006:给一个数列(首相公差),求这个数列中第n个素数
poj3087:不停洗牌,问多少次后可以达到目标状态?
poj3094:把输入的再输出
poj3175:给一个字符串,求那个整数的开方的小数部分前n个有效数位即该字符串?
poj3299:有三个变量和推导公式,任给两个求第三个。
poj3589:猜数游戏判断两个数有多少A和B
poj3618:每次一个人到离原点最近的一个景点(有正负)求最多能经过多少个景点?
poj3619:每个人读书有速度,读了一定时间会停下来。求每个人读完多少页需要多少时间
poj3620:求最大的一个连通块
poj3627:求最少的人让他们的高度超过一个数字
poj3663:给n个数字。问有多少对数字和<=s
poj3664:两轮投票,第一轮前m位进入第二轮;第二轮最高票为冠军
poj3665:每次取最大的一个数,然后把它评分给剩下n-1个数,不能平分就从1号数开始加。求取数顺序
poj3671:n个1和2,问至少修改多少个数可以让整个序列有序?(1在前2在后)
poj3672:上坡需要时间下坡需要时间平坡需要时间。现在给你去的路线求回去路线的需要时间
poj3673:另类乘法,两个数各个位上的数乘积的和
poj3749:解密一个字符串。每个字符串都是原先字母后推5个字

 

 

//网上搜的水题,适合新手熟悉练习基本算法

 

 

 

 

 

 

//POJ 1002

#include "stdio.h"
#include "iostream"
typedef struct
{
 char b[]="22233344455566677778889999";
 char str[14];
}NUM;
int map(NUM a[],int j,int k)
{
 if(a[j].str[k]>=0&&a[j].str[k]<=9)
  return a[j].str[k];
 if(a[j].str[k]>='A'&&a[j].str[k]<='Y')
  return a[j].b[str[k]-'A'];
}
int main()
{
   NUM a[n],t;
   int m=0,i,j,cnt=0;
   cin>>n;
   while(m<n)
   {
    cin>>a[m].str>>endl;
    len=strlen(a[m].str);
    for(i=0;i<len;i++)
    {
     if(i>=0&&i<3||i>3)
      a[m].str[i]=map(a,m,i);
     if(i==3)
               a[m].str[i]="-";
    }
   }
   for(i=0;i<n-1;i++)
    for(j=i+1;j<n;j++)
    {
     if(strcpy(a[i].str,a[j].str)>0)
     {t=a[i].str;
     a[i].str=a[j].str;
     a[j].str=t;
     }
    }
   for(i=0;i<n;i++)
   {
    t=a[i].str;
       for(j=i+1;j<n;j++)
     if(strcpy(t,a[j].str)==0)
      cnt++;
     else break;
    cout<<t<<" "<<cnt<<endl;
   }
   return 0;
}

 

 

 

 

 

 

 

 

 

 

 

 

//POJ 1003

#include <iostream>

using namespace std;

int main()
{
 int cards;
 double length,c;

 cin>>c;
 while(c!=0.0)
 {
  for(cards=0,length=0.0;length<c;)
  {
   
   cards++;
   length+=1/(cards*1.0+1);

  }

  cout<<cards<<" "<<"card(s)"<<endl;
  cin>>c;
 }
 return 0;
}

 

 

 

 

 

 

 

 

 

 

//POJ 1004

#include <iostream>
#include <stdlib.h>
#include <iomanip>

using namespace std;

int main()
{
 float a,s=0.0;

 for(int i=0;i<12;i++)
 {
  cin>>a;
  s+=a;
 }

 cout<<"$"<<setiosflags(ios::fixed)<<setprecision(2)<<s/12<<endl;

 system("pause");
 
 return 0;

}

 

 

 

 

 

 

 

 

 

 

 

//POJ 1005

#include<iostream>

#define PI 3.1415926

using namespace std;

int main()
{
 int i,n,year;
 double x,y,area;

 cin>>n;

 for(i=0;i<n;i++)
 {
  cin>>x>>y;
  area=PI*(x*x+y*y)/2;
  year=(int)(area/50)+1;
  cout<<"Property "<<i+1<<": This property will begin eroding in year "<<year<<"."<<endl;
 }

  
 cout<<"END OF OUTPUT."<<endl; 

}

 

 

 

 

 

 

 

 

 

 

//POJ 1006

#include <iostream>
using namespace std;
int main()
{
 int p,e,i,d,day;
 int k,j=1,w;
 cin>>p>>e>>i>>d;
 while(p+1&&e+1&&i+1&&d+1)
 {
  p%=23;e%=28;i%=33;
  for(k=1,w=i;k<=21253/33;k++)
  { 
   if((w-e)%28==0&&(w-p)%23==0)
   {
    day=w-d;
    if(day<=0)
     day+=23*28*33;
    cout<<"Case "<<j++<<":"<<" the next triple peak occurs in "<<day<<" days./n";
    break;
   }
   w=33*k+i;
  }
  cin>>p>>e>>i>>d;
 }
  return 0;
}

 

 

 

 

 

 

 

 

 

 

//POJ 1007

#include <iostream>
#include <stdlib.h>

using namespace std;

struct ele
{
 int num;
 char str[50];

}s[101];

int cmp(const void *a,const void *b)
{
 return (*(ele *)a).num>(*(ele *)b).num?1:-1;
}


int main()
{
 int i,len,n,j,k;

 cin>>len>>n;

 for(i=0;i<n;i++)
 {
  s[i].num=0;
  cin>>s[i].str;

  for(j=1;j<len;j++)
   for(k=0;k<j;k++)
   {
    if(s[i].str[j]<s[i].str[k])
     s[i].num++;
   }
 }


 qsort(s,n,sizeof(s[0]),cmp);

 for(i=0;i<n;i++)
  cout<<s[i].str<<endl;

 system("pause");
 
 return 0;

 

}

 

 

 

 

 

 

 

 

 

//POJ 1008

#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <iomanip>

using namespace std;


char *H[19] ={ "pop","no","zip","zotz","tzec",
    "xul","yoxkin","mol","chen","yax",                  
    "zac","ceh","mac","kankin","muan",                  
    "pax","koyab","cumhu","uayet"};

char *T[20] ={"imix","ik","akbal","kan","chicchan","cimi",  
    "manik","lamat","muluk","ok","chuen","eb",  
    "ben","ix","mem","cib","caban","eznab",  
    "canac","ahau"};


int main()
{
 int i,j,n;
 int date=0,year=0;
 int total=0;
 char mon[19];  
 char c;


 cin>>n;
 cout << n << endl;//这道题,WRONG了几把,哎,没看清输出也要3,无语~~~
 
 for(i=0;i<n;i++)
 {
  cin>>date>>c>>mon>>year;
 // cout<<mon;
 
  for(j=0;j<19;j++)
   if(strcmp(mon,H[j]) == 0 )
    break;
  
   total=date+j*20+year*365;

  cout<<total%13+1<<" "<<T[total%20]<<" "<<total/260<<endl;
 }
 system("pause");
 return 0;
}

你可能感兴趣的:(Date,struct,ini,iostream,电话,permutation)