`
linest
  • 浏览: 155494 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论
文章列表

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 ...
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; ...
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& ...
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 ...
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) { ...
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++) ...
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) { ...
Global site tag (gtag.js) - Google Analytics