- 浏览: 155494 次
- 性别:
- 来自: 内蒙古
最新评论
-
linest:
ethi_teye 写道id可能是0开头的,你用int保存再输 ...
pat-1022 Digital Library -
ethi_teye:
id可能是0开头的,你用int保存再输出,这些0就被忽略了。
pat-1022 Digital Library -
lixuanchong:
在lz的代码上稍作修改即可:
#include<iost ...
pat-1010* Radix -
air_sky:
确实。。result=a0*base^0+a1*base^1+ ...
pat-1010* Radix -
linest:
air_sky 写道
关于“方程只有一个正整数解,就可以用二分 ...
pat-1010* Radix
文章列表
ZOJ-2108 电梯
- 博客分类:
- acm
2108:电梯上升一层6秒,下降一层4秒,到达目的地停5秒。初始在0层,完成所有任务后不用回到0层。给出请求序列,求所需时间。
保存前一站和当前站计算即可。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int prev;
int curr;
int n;
int time;
bool isfirst;
while(1)
{
time=0;
prev=0;
curr=0;
isfirst=true ...
ZOJ-2104 出现次数最多
- 博客分类:
- acm
2104:给出不同颜色气球,找出现最多的颜色。
用支持字符串索引的map解决。
#include<stdio.h>
#include<string.h>
#include<map>
#include<iostream>
using namespace std;
int main()
{
int n;
map<char*,int> m;
char res[16];
int max;
char color[16];
while(1)
{
cin>>n;
if( ...
ZOJ-2099 矩形边界
- 博客分类:
- acm
2099:给出一段折线,求一个能包住次折线的最小矩形。
思路:找出最左最右的x值,最上最下的y值即可。
由于整数范围内都合法,初始时有些麻烦。因此设了一个变量代表第一次赋值。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int southwest_x;
int southwest_y;
int northeast_x;
int northeast_y;
int x;
int y;
bool isend=false;
...
ZOJ-2022* 阶乘末尾多少个零
- 博客分类:
- acm
2022:给出一个数,计算它阶乘后末尾多少个0.
思路:10 只能由 2 和 5 提供。而2富富有余,只考虑5的个数即可。
转化为统计5因子出现次数问题。循环除5即可。第一次处以5代表5的倍数有几个。
第二次除5代表25个数有几个,依此类推。
大量输出时,cout比printf慢很多,时间限制时,多用printf。本题cout会WA掉。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;
int fac;
int num;
scan ...
ZOJ-2001 反数相加
- 博客分类:
- acm
2001:给两个正整数,进制顺序是反的。
比如1200+20 变换后真实为21+2=23 反变换后为32
sprintf 转成字符串处理比较容易。整数最大值2147483647,二十多亿数组10位以上就够了。
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int rev(int num)
{
char tmp[12];
int sum=0;
int base=1;
sprintf(tmp,"%d& ...
ZOJ-1949 行列和均偶数
- 博客分类:
- acm
1949:矩阵的每一行每一列的和都是偶数称为parity。 判定是否符合。如不符合是否可以改动一个数字符合。
Sample Input
4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
0
Sample Output
OK
Change bit (2,3)
Corrupt
思路:分别进行行列检查。如果可以改动,则只有一行和只有一列不满足。否则不能改为符合。
#include<stdio.h>
#includ ...
ZOJ-1915 大于平均的比率
- 博客分类:
- acm
1915:求成绩大于均分百分比。
printf打印百分号时用%%
#include<stdio.h>
#include<iostream>
using namespace std;
int num[1000];
int main()
{
int N;
int n;
double avg;
int total;
int count;
cin>>N;
for(int i=0;i<N;i++)
{
total=0;
count=0;
cin>>n;
for(i ...
ZOJ-1904 求体积
- 博客分类:
- acm
1904:求松鼠啃掉木头的体积。
圆台体积:1/3 * PI *H(R*R+R*r+r*r)
推出公式 V = PI/6*(D*D*D-d*d*d)
#include<stdio.h>
#include<math.h>
#include<stdio.h>
#include<iostream>
using namespace std;
#define PI 3.1415927
int main()
{
double D;
double d;
double V;
while(1)
{
...
ZOJ-1879 出现且只出现一次
- 博客分类:
- acm
1879:给出1~n之间n个数。如果相邻两数差值1~n-1都出现过则为jolly jumper.如果只有一个数则也为jolly jumper
思路:用map实现。
一开始在代码中有break,发现不符立即跳出。后来发现没将值读完造成后面混乱。
abs函数在stdlib中,一开始写math也WA了。。。。。⊙﹏⊙b汗
#include<stdio.h>
#include<stdlib.h>
#include<map>
#include<iostream>
using namespace std;
int main()
{
...
ZOJ-1813 路程与速度
- 博客分类:
- acm
1813:给出车轮直径,转动圈数,花费时间,求路程和平均速度。
简单题。单位换算对即可。
There are 5280 feet in a mile.
There are 12 inches in a foot.
#include<stdio.h>
#include<iostream>
using namespace std;
#define PI 3.1415927
int main()
{
float diameter;
int revolution;
float time;
double distance;
double M ...
ZOJ-1796 推断胜负
- 博客分类:
- acm
1794:四个人相互比赛,三个人胜负数已知,求第四个人的胜负数。
简单题。思路:每个人比赛的总次数相等,所有人的总胜利次数和总失败次数相等。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int total;
int win_total;
int lose_total;
int tmp;
while(1)
{
win_total=0;
lose_total=0;
for(int i=0;i<3;i++)
...
ZOJ-1414 二维数字排列
- 博客分类:
- acm
1414:给出前面几个数排列规律。任给一对坐标,求对应的数字是多少。
利用周期性求解。用倍数关系化归到给出的排列上。
除法和取模的综合应用。
#include<iostream>
using namespace std;
int val[8][7];
int cal(int x,int y)
{
int p=y/6;
int v=val[x%6][y%6];
return v+12*p;
}
int main()
{
//y=x
//y=x-2
//12个数一个周期
//纵向6个数为周期
val[0][0]=0;
...
ZOJ-1405 位置占用
- 博客分类:
- acm
1405:沙龙座位有限。顾客来时如每座会走掉。给出一个顾客出入串,第一次出现为进入,第二次出现为离开。问一共有多少因为没座直接离开。
Sample Input
2 ABBAJJKZKZ
3 GACCBDDBAGEE
3 GACCBGDDBAEE
1 ABCBCA
0
Sample Output
All customers tanned successfully.
1 customer(s) walked away.
All customers tanned successfully.
2 customer(s) walked away.
因为离开是无序的,因此用map来存储,查找 ...
ZOJ-1402 是否均分
- 博客分类:
- acm
1402:圆桌分肉。每个座位分发量不一样,一个顺时针,一个逆时针。问是否能同时发完。
简单题。即判断数列是否能均分成两部分。先求和,再看是否能达到和值一半。
#include<stdio.h>
#include<iostream>
using namespace std;
int seat[30];
int main()
{
int n;
int total;
int tmp;
while(1)
{
cin>>n;
if(n==0)
break;
total=0;
for(in ...
ZOJ-1394 基本应用
- 博客分类:
- acm
1394:圆周长与油量关系
简单题。
犯过小错。宏定义末尾不要加分号。。否则会报c2001 非法间接寻址。
原因是视为了宏替换,将乘号理解为了指针。
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#define PI 3.14159;
int main()
{
char cmd[11];
int r;
int fuel;
int degree;
double left;
while(1)
{
...