HDU 3788 ZOJ问题
2016-06-22 14:19
253 查看
题目大意:略
思路:看了oj上大牛的解释才懂了,这他么的竟然是个推理题目,或者说是个高级题意,,,
zoj
用a,b,c分别代表z之前的o的个数、z和j之间的o的个数、j之后的o的个数
z和j之间必须要有o,b>0
由2和3条件推理出来a*b==c
x*1=x
若a*b==c,则a*(b+1)==a+c
推理啊,白看那么多推理小说了
思路:看了oj上大牛的解释才懂了,这他么的竟然是个推理题目,或者说是个高级题意,,,
zoj
用a,b,c分别代表z之前的o的个数、z和j之间的o的个数、j之后的o的个数
z和j之间必须要有o,b>0
由2和3条件推理出来a*b==c
x*1=x
若a*b==c,则a*(b+1)==a+c
推理啊,白看那么多推理小说了
#include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; int main() { char s[1005]; while(~scanf("%s",s)) { int a,b,c; for(int i=0;i<strlen(s);i++) { if(s[i]=='z') a=i;//z前o的个数 if(s[i]=='j') b=i-a-1;//z和j之间的o的个数 } c=strlen(s)-(a+b+1+1);//j之后的o的个数 if(a==0) { if(b>0&&a*b==c)//满足b>0,zoj中间必须有o的啦 cout<<"Accepted"<<endl; else cout<<"Wrong Answer"<<endl; } else { if(b>0&&a*b==c)// cout<<"Accepted"<<endl; else cout<<"Wrong Answer"<<endl; } } return 0; }
相关文章推荐
- 基于DSP的实时图像处理系统
- Rabbitmq for openstack
- Android开发一些实用的类、方法及接口(新手向)
- JSON 之FastJson解析
- LeetCode Add Binary(二进制加法)
- FPGA入门的基础知识
- MVC 区域内默认控制器不能访问(Multiple types were found that match the controller named ‘Index')
- Lnmp中nginx经常出现502错误解决方法
- memcpy函数详解
- 从平庸到卓越!5个帮你快速提高设计稿质感的实用方法
- oracle数据库system密码忘记怎么办?
- 营销案例,只保留一天,马上要删
- Java代码实现设置系统时间
- nginx安装及配置
- IOException while loading persisted sessions: java.io.EOFException异常的解决办法
- html禁止Input文本输入缓存的两种方法
- android 文件缓存 DiskLruCache
- 倒立三角打印
- 构建一个属于你自己的镜像
- 刚入职服务器就被攻击,如何治愈与防范【吐血经历】