ZOJ解题
seen_in_hw
希望我能变厉害!!!成为大师!!!我放弃了很多看似很炫的技术而去探寻技术的本质,技术是用来提供服务的,所有的技术都离不开思想,而思想是最难掌握的,我们应该把更多的精力放在对于思想的探寻上
展开
-
ZOJ_1295解题报告
ZOJ 129难点: C++版:#include <iostream>#include <string.h>#define N 101char s[N];using namespace std;int main(){ int n; cin>>n; cin.get(); //这个cin.get比较精髓,cin.get读取了回车,这样不会影响下次的读取原创 2015-08-25 21:08:29 · 787 阅读 · 0 评论 -
ZOJ 2417解题报告(炫酷)
直接给代码#include<bits/stdc++.h> using namespace std; int main() { int n; while (cin>>n&& n) cout<<(n&(-n))<<endl; return 0; }原创 2015-10-18 20:50:24 · 440 阅读 · 0 评论 -
ZOJ 2987
题意给字符串指定删除字符,然后输出 考差了string中的erase函数 巨简单 =_= …代码#include <iostream>#include <string>using namespace std;int main(){ int n,count=1; cin>>n; while(n--){ int pos; string s原创 2015-10-18 22:17:00 · 428 阅读 · 0 评论 -
ZOJ 2417
题意给出一个十进制数,找出其二进制数,找到其中从低位开始,第一个为1的数,然后把从这个数到最低位组成的二进制数的十进制数写出来思路尊重十进制数到二进制数的换算方法,然后判断一下是否是到了第一个为1的数 从二进制数换算成十进制数利用常规方法,参考我的一篇日志: 参考内容关于十进制转换为二进制数的介绍:你以十进制的数除以你所要转换的进制数,把每次除得的余数记在旁边,所得的商数继续除以进制数,直到余数原创 2015-10-18 21:13:09 · 641 阅读 · 0 评论 -
POJ,ZOJ提交代码报错PE咋办
针对于这种情况,不需要慌张,报错PE大多数都是对了的,格式错而已解决方法: 查找 空格,TAB,回车字符,空行经验大法: 在两个输出样例之间输出一个空行举个例子:POJ 1450 和 1477我多次报错PE,都是因为少写个空行贴出代码:for(i=0;i<n;i++){ total+=(abs(avg-num[i])); } cout<<"原创 2015-10-05 11:03:40 · 965 阅读 · 0 评论 -
ZOJ 2807
菜的抠脚的一道题。。。没啥好说的。。。// ZOJ2807#include <iostream>using namespace std;int main(){ int n; cin>>n; while(n--){ int k; cin>>k; int sum=0,temp,count=k; while(k-原创 2015-10-26 20:11:40 · 466 阅读 · 0 评论 -
ZOJ 2812
题意仔细看下面例子 ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650A代表1,B代表2,空格代表0,这些代表的数分别和下标加1相乘,和伪输出代码注意坑爹的地方是 给出255个数据,你就一定要留出256个空间,原创 2015-10-26 20:31:37 · 1089 阅读 · 0 评论 -
ZOJ 2830
题意有n人,三人一组每次淘汰两人,问最少多少次能淘汰的只剩一人解答: n为偶数,n/2 n为奇数,(n+1)/2代码#include<stdio.h>int main(){ int n; while(scanf("%d",&n)!=EOF && n) { printf("%d\n",n/2); }}原创 2015-10-26 20:38:39 · 603 阅读 · 0 评论 -
编程挑战1:抽签问题
问题:你的朋友提议玩一个游戏:将写有数字的 n个纸片放入口袋中,你可以从口袋中抽取 4次纸片,每次记下纸片上的数字后都将其放回口袋中。如果这 4个数字的和是 m,就是你赢,否则就是你的朋友赢。你挑战了好几回,结果一次也没赢过,于是怒而撕破口袋,取出所有纸片,检查自己是否真的有赢的可能性。请你编写一个程序,判断当纸片上所写的数字是 k 1 ,k 2 , …, k n 时,是否存在原创 2016-04-19 12:34:23 · 3080 阅读 · 0 评论 -
编程挑战2:三角形问题
三角形有 n根棍子,棍子 i的长度为 a i 。想要从中选出 3根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出 0。用5根棍子组成三角形的例子限制条件 3 ≤ n ≤ 100 1 ≤ a i ≤ 10 6输入n = 5a = {2, 3, 4, 5, 10}样例 1输出12(选择3、4、5时)方法1如原创 2016-04-19 13:01:39 · 1163 阅读 · 0 评论 -
编程挑战3:蚂蚁问题
蚂蚁问题及解析,还有代码都在下方区域Ants(POJ No.1852)n只蚂蚁以每秒 1cm的速度在长为 Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离 x i ,但不知道它当前的朝向。请计算所有蚂蚁落下竿子所需的最短时间和最长时间。竿子和蚂蚁的情况限制条原创 2016-04-19 13:51:13 · 1021 阅读 · 0 评论 -
ZOJ 2481
题意给出一串数字, 俺从小到大的顺序排好,相同的数字只输出一次解题按照题意去解就可以了,关键是要注意presentation 最后一个数后不能有空格代码//ZOJ 2481#include <iostream>#include <algorithm>using namespace std;int a[120];int main(){ int n,i; while(cin>原创 2015-10-18 20:43:19 · 721 阅读 · 0 评论 -
ZOJ2478
题意给出一串字符串,连续的N个相同字符K写成 NK形式, 特别的,N==1时,N不写出来代码太简单了,直接贴带代码了#include <iostream>#include <string>using namespace std;bool trek[100];int main(){ int n,count=1; cin>>n; string s; while原创 2015-10-18 16:48:32 · 623 阅读 · 0 评论 -
ZOJ 3202
题意找出数组中最大值的下标(注意是从1开始的),和第二大值功能关于找最大值下标用类似选择排序即可 关于第二大值要通过排序,然后倒数第二个即为所求值AC代码// POJ3202#include <iostream>#include <algorithm>using namespace std;int main(){ int n; cin>>n; while(n--){原创 2015-10-17 21:36:12 · 666 阅读 · 0 评论 -
ZOJ 2104解题报告
关于ACM题吧,也不好多说什么了,就是必须要多做,多看,你才能明白这种题是说的一些什么东西。首先,这道题,你得看懂是什么意思。说的是求几个字符串的众数,核心功能就是这个。解题方案:我写了一个函数求字符串的众数。 这个函数叫做string GetMax(string s[],int n) s 为传进来的字符串数组 n为字符串数组的个数 我的思路为,用一个coun原创 2015-08-28 00:22:10 · 601 阅读 · 0 评论 -
ZOJ 1115解题报告未通过版本
#include <iostream>#include <cmath>using namespace std;int isdigitnum(int num){ if(num/10==0) return 1; return 0;}int Addnum(int num){ int N=1,i=0,m=1,n=0,sum=0,k=num,t; while((nu原创 2015-08-27 21:26:47 · 608 阅读 · 0 评论 -
ZOJ 1115解题报告
这个题目的意思很简单,很多人之所以提交不通过是因为 用的 int型处理数据,这样当数据很大时就不能用了,所以不过。还有一个难点就是如果加和得到的树根>10该怎么写函数处理? 这里有一个很简单的数学方法,叫做:一个数的树根就是该数mod9的余数,特殊的,mod9 ==0 ,树根为9所以从这个题上面我看到了数学的魅力附上可提交代码:#include <iostream>#include <str原创 2015-08-27 22:11:51 · 791 阅读 · 0 评论 -
ZOJ1745 解题报告
1745题目题意: (1)输入起点位置 pos (2)输入每次移动的位置 now,通过 now-pos 与上一个now-pos相比较输出不同结果,如果now == pos,输出已经找到注意点,格式特别容易错,只在第一个输出的序列前面没有空行,其余的前面的都有空行代码如下:#include <iostream>#include <cmath>using namespace std;int m原创 2015-08-28 01:19:16 · 602 阅读 · 0 评论 -
ZOJ2405解题报告
题意:这道题的意思是找四位数,其中他的10进制,12进制,16进制的各位数相加的和都相同就把这个四位数输出这里要提醒的是:根本没必要把他的12进制,16进制求出来,只需要把他的对应进制的各位和相加即可,这里给出求各进制各位和的函数int getsum(int n, int base) { int sum=0; while(n) //这个函数写的很是精髓,要发现这样写的原创 2015-09-02 16:01:34 · 580 阅读 · 0 评论 -
ZOJ2388解题报告
题意: input a b 输入的是两个数的和和差,其中a为和,b为差,如果a#include <iostream>using namespace std;int main(){ int N; cin>>N; while(N--){ int a,b; cin>>a>>b; if(a<b | (a-b)%2!=0) co原创 2015-09-01 22:03:28 · 674 阅读 · 0 评论 -
ZOJ2358解题报告
题意: 输入一个数,如果这个数能写成几个数的阶乘形式,就输入YES,否则输出NO题目值得注意的地方: (1)输出的YES 和NO 不要搞错了 (2)0的阶乘为1 (3)输出格式每个后面要加换行 做题思路: 先算一下大致数的阶乘,大概到了 9!的时候就已经满足要求 所以把0到9的阶乘算出来保存在num[]数组里面然后用输入的数与高位数的阶乘开始减,如果结果得0就输原创 2015-09-01 21:30:57 · 563 阅读 · 0 评论 -
ZOJ2321解题报告
题意:(如果看到这个你能懂就建议不要看代码了,自己动手试试)输入三个数字,输入三个0结束 然后对三个数字进行比较,满足条件输出结果,这里你必须要保证格式的输出正确,这是难点题目很简单,但是对格式控制要求比较高,下面附上代码://ZOJ 2321#include <iostream>using namespace std;float judge(float speed,float weight原创 2015-09-01 20:13:04 · 534 阅读 · 0 评论 -
ZOJ水题分类
简单题#1001 -____-b A+B。#1110 Dick and Jane 胡乱枚举收缩一下情况就可以了。(这题脑筋还是要转一个弯的,不然做不出)#1115 a[i+1] = a[i] 的全部数位上的加起来,直到剩下一个,直接模拟。#1414 太弱太弱,按照模 4 分类讨论一下即可。#1713 简单的字符串截取和字符计数。#1716 简单的二维数组区间求和,作累加,转载 2015-10-17 17:02:04 · 3685 阅读 · 0 评论 -
ZOJ 3767
不好说什么了,实在是非常的简单,一下子就过了。。。 直接给代码吧// POJ 3767#include <iostream>using namespace std;int main(){ int n; cin>>n; while(n--){ int p,max_wt,num,sum=0; cin>>p>>max_wt;原创 2015-10-17 21:12:40 · 537 阅读 · 0 评论 -
【ACM】:ACM集训队论文合集
国家集训队论文分类整理距离ACM/ICPC的时间越来越少了,选择性地看一些集训队论文是很有必要的。(在此给已经看过所有论文的神牛跪了= =)所以,我在此整理了一下,供大家参考。组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 - 许智磊:《浅谈补集转化思想在统计问题中的应用》200转载 2016-07-11 14:47:15 · 1898 阅读 · 0 评论