一道杭电acm水题的程序题,1002,不知道为什么通过不了?

来 自:南京
等 级:新手上路
代码如下:
#include&stdio.h&
#include&string.h&
int main()
&&& char ch[10000],a;
&&& int i=0,k,n,m;
&&& memset(ch,'0',sizeof(ch));
&&& while(scanf(&%c&,&a)!=-1)
&&&&&&&&& while(a!='\n')
&&&&&&&&& {
&&&&&&&&&&&& ch[i++]=a;
&&&&&&&&&&&& if(a=='z') k=i-1;
&&&&&&&&&&&& else if(a=='j') n=i-1;
&&&&&&&&&&&& scanf(&%c&,&a);
&&&&&&&&&&&& }
&&&&&&&&&&&& m=i-1;
&&&&&&&&&&&& if((n-k-1==1)&&(k==m-n)) printf(&Accepted\n&);
&&&&&&&&&&&&
&&&&&&&&&&&& else if((n-k-1&=2)&&(m-n&=k)) printf(&Accepted\n&);
&&&&&&&&&&&&
&&&&&&&&&&&& else printf(&Wrong Answer\n&);
&&&&&&&&&&&&&&
&&&&&&&&&&&& i=0;
&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&return 0;
谢谢大家先!!
等 级:版主
威 望:84
帖 子:3068
专家分:11908
今天问ACM的人还真不少。
词法分析。我习惯自己先做一遍再回答,太晚了, 明天试试
重剑无锋,大巧不工
等 级:版主
威 望:84
帖 子:3068
专家分:11908
程序代码:#include&stdio.h&
int isAC(char * str)
&&& int i, zi, zn, ji, jn, a, b,
&&& for(zn = jn = i = <font color=#; str[i] != '<font color=#'; i++)
&&&&&&&&if(str[i] == 'z'){ zi = zn++;}
&&&&&&&&else if(str[i] == 'j'){ ji = jn++;}
&&& if(zn != <font color=# || jn != <font color=# || zi & ji) return <font color=#;
&&& for(a = <font color=#; *str == 'o'; str++, a++);
&&& for(str++, b = <font color=#; *str == 'o'; str++, b++);
&&& for(str++, c = <font color=#; *str == 'o'; str++, c++);
&&& if(b && a * b == c) return <font color=#;
&&& return <font color=#;
int main()
&&& char str[<font color=#1];
&&& while(scanf(&%s&, str) != EOF)
&&&&&&&&printf(&%s\n&, isAC(str) ? &Accepted& : &Wrong Answer&);
&&& return <font color=#;
重剑无锋,大巧不工
等 级:论坛游民
帖 子:31
专家分:42
以下是引用beyondyf在 07:43:54的发言:
int isAC(char * str)
&&& int i, zi, zn, ji, jn, a, b,
&&& for(zn = jn = i = 0; str != '\0'; i++)
&&&&&&&&if(str == 'z'){ zi = zn++;}
&&&&&&&&else if(str == 'j'){ ji = jn++;}
&&& if(zn != 1 || jn != 1 || zi & ji) return 0;
&&& for(a = 0; *str == 'o'; str++, a++);
&&& for(str++, b = 0; *str == 'o'; str++, b++);
&&& for(str++, c = 0; *str == 'o'; str++, c++);
&&& if(b && a * b == c) return 1;
&&& return 0;
int main()
&&& char str[1001];
&&& while(scanf(&%s&, str) != EOF)
&&&&&&&&printf(&%s\n&, isAC(str) ? &Accepted& : &Wrong Answer&);
&&& return 0;
研究了一上午加上3楼提供的程序才明白题目。
我的理解:
要求检验一组字符azbjc,其中在z,j字符固定不变,a,b,c为自然数。
满足一下条件的AC,否则WA。
1、a=0时,b=1,c=0;
2、a=1时,b=c;
3、a&1时,b=1,c=a.
不知是否有误?
等 级:版主
威 望:84
帖 子:3068
专家分:11908
回复 5楼 ljl123970
我代码中的a b c分别表示z之前o的数量、z与j之间o的数量,以及j之后o的数量
关于AC还有几个隐含条件,全部的条件如下:
1.串中z与j的数量必须为1
2.z的位置必须在j之前
3.b的数量至少为1
4.在b为1的情况下a必须等于c
5.在b大于1所情况下a必须等于b * c
重剑无锋,大巧不工
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
回复 6楼 beyondyf
杨大哥&&我怎么没读懂这个题呢&&&大哥帮我拿ozoojoo这个数据 分析一下它为啥符合第三个条件 谢啦
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
等 级:论坛游民
帖 子:31
专家分:42
回复 6楼 beyondyf
漂亮!以b为第一条件,简洁明了,代码好看!服!!!!
——条件中第五条的a,c反了
代码中对的
向版主学习
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
回复 9楼 ljl123970
你读懂了&&拿ozoojoo这个数据 帮我解释下可以吗
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
等 级:论坛游民
帖 子:31
专家分:42
回复 8楼 laoyang103
因为ozoojoo可以解读成:a=1,b=1,c=1;而此时azbjc就是ozojo满足第二个条件
我说的对吧
版权所有,并保留所有权利。
Powered by , Processed in 0.020702 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved求大神看一下杭电acm1002题为什么不行?-_星空见康网
求大神看一下杭电acm1002题为什么不行?
求大神看一下杭电acm1002题为什么不行?
d[i]);T;Case %d;i++)
{printf(&;T#include&
for(i=0;);
d[i]=i+1,T;
scanf(&20)
printf(&n&#92;1||b&lt,&T),b;;%d&quot,&b);int main(){ int i,c[20];;n&%lld %lld& }}
for(i=0.h&stdio,&a:&#92;n&
c[i]=b,c[i],d[20];
if(a&#include&lt,e[i]+c[i]);wrong&1||T&i++)
int e[20],e[i];i&%lld+%lld=%lld&#92;;
i--;i&lt.h&gt长整型怎么行呢,它说了,数字最大长度是1000位,长整型只能处理20位长度的数字
长整型怎么行呢,它说了,数字最大长度是1000位,长整型只能处理20位长度的数字
试试这几组数据哈: 1 9 19 1 199 2 2 22228
杭电ACM1002题为什么WA,请大神帮忙解决,谢谢。
大数问题,不能用long long 做,因为他可能是1000位的大数。。,要用字符处理,我的思路基本...
多试试特殊数据,这题是高精度算法吧, 试试, 9 + 1 99 + 1 0 + 0
用BigDecimal类 import java.math.BigD import j...
你这个会溢出,需要用字符串模拟大整数的加法。 #include &stdio.h& #include...
这么凌乱和麻烦的代码`我也不愿意看` 给你个建议,使用产生随机数的方法,随机测试多组数据,根据错误的...
没啥大问题,for循环出了点小错,改了之后的程序 #include&stdio.h& #includ...
高精度,即便是__int64也只能存不到20位。如果几百几千位你怎么算?用java...2011-7...
#include &iostream& #include &cstring& using names...
你可能想看的相关专题杭电acm题目水题英文题目、翻译及ac源代码_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
杭电acm题目水题英文题目、翻译及ac源代码
如&#8203;题&#8203;。&#8203;供&#8203;无&#8203;网&#8203;人&#8203;士&#8203;享&#8203;用&#8203;。
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢杭电acm分类
差不多大二的时候开始接触acm,主要是自己练着玩,自己也参加了学校的两次程序设计大赛.当时主要就是
在杭电的acm网址上练习,很惭愧,刷的题目很少,不过这个经历也算是大学一段美好的回忆吧.毕业了,编程的
能力可不能落下,所以偶尔有空就来刷刷题吧.下面是题目的分类,可以找到自己喜欢的或者擅长的来写代码,
Enjoy yourself!
第一篇&&&&
1001 这个就不用说了吧
1002 简单的大数
用数组模拟两数相加,一次性AC!这题算大数相加的入门,有不少要注意的地方.或者说我基础薄弱的地方:我用到了函数返回指针值,这个地方特别要注意,报了一个warning,因为函数中定义一个局部变量指针被传出去了,这样这个地址在该函数结束时就被释放了(指将编译器中对于该地址的控制给释放,这块地址是存在的,但是已经没有受控的指针指向,它有可能已经被其他程序/系统其他进程所使用,也有可能还没有被使用。所以指针指向的内容是不可预测的。),可以看&这个资料
写得非常好! 然后还有一个字符串的反转,搜了一篇博客,写得非常棒!好像还是腾讯的一道面试题,
我试了一下在函数中用malloc申请了一段内存,这样可以作为返回值返回,but要注意了,这段内存只能交给其他函数来释放了!一定要释放,直接在其他函数中调用free(指针)!要不然用检测了一下有内存泄露.所以这种方法不是很好,关于free和malloc的原理,可以见博客:
感觉对这一题有必要写一篇详细的博客啊!
1003 DP经典问题,最大连续子段和
1004 简单题 用的STL的map,很简单,但个人不倾向用STL,原因不解释...
1005 找规律(循环点)
1006 感觉有点BT的题,我到现在还没过
1007 经典问题,最近点对问题,用分治
1008 简单题 纯粹按照题目给的意思写代码,没什么好说的
1010 搜索题,剪枝很关键
1012 简单题 一开始用的float结果老是不对,换成double就AC了,一句话double精度高!
1013 简单题(有个小陷阱)不知道它这个陷阱指什么 我用的是string数组模拟加法的运算
1014 简单题&cout的对齐输出方式(左对齐,右对齐)
1015 可以看作搜索题吧
1016 经典的搜索
1017 简单数学题 输出"Case"时忘了首字母大写,提交了好几次,哎~还有就是最后一个block不要输出换行符.
1018 简单数学题 没有想到,参考别人的,原理很简单:求一个数有N多少位,可用log10(N)+1,其中N为double
1019 简单数学题
1020 简单的字符串处理 用while来遍历字符串,同时做相应的输出处理
1021 找规律的数学题
1022 数据结构的题(栈的应用)
1023 特殊的数(Catalan Number)
1024 经典DP,最大M子段和
1025 经典DP,最长递增子序列(要用NLogN的方法过)
1027 数学题(或用STL)
1028 经典问题,整数拆分,用母函数做
1029 简单题(一般方法容易超时) 数组用不了,因为数据最大有一百万个,改用stl的map,AC
1030 简单题,可用模拟过
1031 简单题
1032 简单题 很简单,题目看错了,想到最大公约数和最小公倍数,看来我英语还要锻炼啊,还有一个
&&&&&&&&&&&
小地方题目中"the same order",要输出原先的顺序,不是后来排过序的.
1033 模拟题
1034 Candy Sharing Game
1035 模拟题
1036 简单题
1037 简单题,不是一般的简单 的确很简单 :)
1038 简单题
1039 字符串处理 挺有意思的题目 主要就是按照题目逻辑来编写代码 用了STL的string类
1040 简单题,排序 试了一下冒泡和stl的sort比较,冒泡被秒杀了,stl的sort好像是快速排序
1041 简单题,用大数
1043 经典搜索题,八数码问题
1044 稍微有点麻烦的搜索题
1045 搜索题,可用匹配做
1046 简单题
1047 简单的大数
1048 简单字符串处理
1049 简单题 小时候经常会有的问题,毛毛虫爬墙,严格按照题目的逻辑来编写代码!
1051 经典贪心,也可以用DP
1053 贪心,关于Huffman编码
1054 二分匹配
1055 二分匹配
1056 简单题 &其实就是简单的求和,把小数加起来,也不用考虑精度,被我想复杂了
1057 模拟题
1058 经典问题,丑数,DP
1059 经典问题,可以用母函数或DP(不针对题目优化都会超时)
1060 数学题
1061 数学题
1062 简单字符串处理 含空格的字符串输入 要用gets() 如果之前有其他输入要用getchar()来"捕获"回车
1063 模拟大数
1064 简单题 &主要是cout的精度输出,结果为两位小数
(1.头文件#include
2.cout.setf(ios::fixed)与之对应的还有一个科学计数方法;3.setprecision(2))
1065 简单题
1066 数学题,找规律
1068 经典二分匹配
1069 经典DP
1070 简单题
1071 简单数学题
1073 字符串处理
1075 字典树
1076 简单题 闰年的计算 如果是闰年
则在此年的基础上+4再判断是否闰年&这样效率要高一些
1079 博弈(DP)
1081 经典DP
1082 简单题
1083 二分匹配
1084 简单题
1085 母函数
1086 简单几何题
1087 简单DP
1088 字符串处理
(练习输入输出的8个题目)
1097 简单数学题
1098 数学题,注意找规律
1099 数学题
模拟题, 枚举
13 20 31 35 1036
42 49 62 70 1073
83 06 17 29 1144
61 77 01 09
1212(大数取模) 1216(链表)25 30 36
62 66 82 96 1302
05 11 1314
搜索,递归求解
26 1043(双广) 1044 (BFS+DFS) 72
08 40 58 17
25 58 74 81 1085
58 71 03 31 1244
数学,递推,规律
12 19 27 38 1041
60 66 1071(微积分) 99
24 32 43 (物理题) 1163
94 1196(lowbit) 00 49
线段树,离散化
最短路相关的问题 17 1301
二分图问题 50
1053 (huffman) 1102(MST) 1116(欧拉回路) 1233(MST) 1269(强连通)
1103(堆+模拟)1166(数状树组)85(Topol) 1298
汉诺塔系列
最近顶点对 1007
1502 DP or 记忆化
1507 2分匹配
1508 记忆化容易点
1511 搜索可以过
1512 左偏树
1519 DP(不确定)
1520 树状DP
1521 数学题,母函数什么的。其实都可以过
1522 稳定婚姻
1526 Maxflow
1528 2分匹配
1529 简单题
1530 最大团
1531 差分约束
1532 Maxflow 入门题
1533 KM Or 最小费用流
1534 差分约束
1535 差分约束
1537 模拟 加置换群的理论 CODE可以短些,其实没必要。。。
1538 很有意思的题目。据说是Microsoft亚洲总裁面试的题目
1540 线段树
1541 树状数组
1542 离散,线段树
1543 线段树
1544 简单的
1551 2分答案
1556 技巧。数学
1558 并查 + 线段判交
1560 减支 + 搜索
1561 树状DP
1562 暴力 between 1000 and 9999
1564 博弈。
1565 状态DP
1569 最小割
1571 最段路
1577 模拟,处理精度
1579 记忆化
1587 简单题目
基础题:、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2710、
DP:、、、、、、、、、、、、、2709、
搜索:、、、、、、、、、、、、、、、、
贪心:、、、、、、
数学题:、、、、、、、、、、、、、、、、2701、
递推:、、、、、、、、、、、、、、、、、、
字符串:、、、、、、、、、、、、、、、、、、、、、、、、、2723、
大数:、、、、2100、
胡搞:、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
博弈:、、、、、、、、、
母函数:、、、、2566、
hash:、、、2600、
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 杭电acm1002 c 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信