威威猫系列故事——过生日

Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 999    Accepted Submission(s): 271

Problem Description
2月29号是威威猫的生日,由于这个日子非常特殊,4年才一次,所以生日这天许多朋友都前往威威猫家祝贺他的生日。

大家给威威猫买了一个非常大非常大的蛋糕,蛋糕的形状是一个有n条边的凸多边形,可是威威猫的审美观有一点奇怪,他只喜欢有m条边的蛋糕,所以他要伙伴们把这个蛋糕切p次,然后给他一个只有m条边的新蛋糕。这下大家急了,这不是坑爹吗,审美观崎岖作怪。

假设蛋糕可看成一个平面含n条边的凸多边形,每一刀必须沿直线切下去,p刀之后能给威威猫切出一个m条边的蛋糕吗?

 
Input
多组测试数据,每组占一行,包含3个整数n, m, p(含义如上)。


[Technical Specification]

3 <= n <= 10^100

0 < m <= 10^100

0 <= p <= 10^100
 
Output
每组测试数据,如果能够切出威威猫喜欢的蛋糕,请输出"YES",否则请输出"NO";

每组数据输出一行。
 
Sample Input
4 5 1
 
Sample Output
YES

Hint

Sample对应的示意图如下:

 
Source
 
Recommend
liuyiding
 

思路:

很容易可以看出  一刀可以增加一条边    或者不变(不增加)

一刀也可以减少1到n-3条边

所以易知

如果  m小于3 NO

如果 m 大于等于3小于等于n YES

如果m大于n  并且p+n大于等于m 输入YES   否则NO

#include<stdio.h>
#include<string.h>
char n[111],m[111],p[111],mid[111];
int compare(char *s1,char *s2)//判断第一个是否大于等于第二个
{
int len1=strlen(s1);
int len2=strlen(s2);
if(len1>len2) return 1;
else if(len1<len2) return 0;
for(int i=0;i<len1;i++)
{
if(s1[i]>s2[i]) return 1;
else if(s2[i]>s1[i]) return 0;
}
return 1;
}
void solve(char *s1,char *s2)//求出a+p的值与m进行大小比较
{
int len=strlen(s2);
int len1=strlen(s1);
strrev(s1);
strrev(s2);
//printf("翻转后的s1:%s\n",s1);
//printf("翻转后的s2:%s\n",s2);
for(int i=0;i<len;i++)
{
s1[i]=s1[i]-'0'+s2[i]-'0'+'0';
}
// puts(s1);
for(int i=0;i<len1;i++)
{
if(s1[i]>'9')
{
s1[i]=s1[i]-10;
if(i+1==len1) {s1[len1]='1';s1[len1+1]='\0';}
else
s1[i+1]++;
}
}
strrev(s1);
//printf("算得的和:%s\n",s1);
if(compare(s1,m)) printf("YES\n");
else printf("NO\n");
}
int main()
{
while(scanf("%s %s %s",n,m,p)!=EOF)
{
if(strlen(m)==1&&m[0]-'0'<3) {printf("NO\n");continue;}
if(strcmp(p,"0")==0)
{
if(strcmp(n,m)==0) printf("YES\n");
else printf("NO\n");
continue;
} if(compare(n,m)) {printf("YES\n"); continue;}
if(strlen(p)>strlen(n))
solve(p,n);
else solve(n,p);
}
return 0;
}

hdu 4523 威威猫系列故事——过生日 小模拟的更多相关文章

  1. hdu 4540 威威猫系列故事——打地鼠 dp小水题

    威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  2. HDU 4540 威威猫系列故事——打地鼠

    威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Su ...

  3. HDU 4540 威威猫系列故事——打地鼠 (状态压缩DP)

    威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  4. HDU--杭电--4504--威威猫系列故事——篮球梦--DP

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  5. HDUOJ----4504 威威猫系列故事——篮球梦

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  6. hdoj 4526 威威猫系列故事——拼车记

    威威猫系列故事——拼车记 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  7. 2013腾讯编程马拉松初赛第〇场(HDU 4504)威威猫系列故事——篮球梦

    http://acm.hdu.edu.cn/showproblem.php?pid=4504 题目大意: 篮球赛假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下 ...

  8. Hdoj 4540.威威猫系列故事——打地鼠 题解

    Problem Description 威威猫最近不务正业,每天沉迷于游戏"打地鼠". 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! ...

  9. hdu4533 威威猫系列故事——晒被子

    Problem Description 因为马拉松初赛中吃鸡腿的题目让不少人抱憾而归,威威猫一直觉得愧对大家,这几天他悄悄搬到直角坐标系里去住了. 生活还要继续,太阳也照常升起,今天,威威猫在第一象限 ...

随机推荐

  1. IT从业人员必看的十几个论坛

    IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多,往哪里去,新浪论坛,网易是经常去的,人多啊,好几十万,去了以后才发现没有意思,没有共同的语言,于是逛专 ...

  2. Js 简单分页(二)

    此次使用了http://www.purecss.org/ 的前端Css 效果图 上代码 //更新分页工具栏的效果展示 function updatepagetoolshow(){ //判断当前页 及 ...

  3. EXCEL : We can't do that to a merged cell.

  4. Java多线程初学者指南(5):join方法的使用

    在上面的例子中多次使用到了Thread类的join方法.我想大家可能已经猜出来join方法的功能是什么了.对,join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方 ...

  5. 降维(一)----说说主成分分析(PCA)的源头

    降维(一)----说说主成分分析(PCA)的源头 降维系列: 降维(一)----说说主成分分析(PCA)的源头 降维(二)----Laplacian Eigenmaps --------------- ...

  6. Spring-boot 配置Aop获取controller里的request中的参数以及其返回值

    首先在你的Maven的pom文件里加入aop的依赖: <dependency> <groupId>org.springframework.boot</groupId> ...

  7. CKFinder 2.4 ASP.NET 破解

    网上的破解教程对于2.4版本来说已经过时了. 以下是CKFinder 2.4 ASP.NET的亲测可用破解方法,经测试,只需修改两处代码. 打开ckfinder.js, 步骤1. 搜索替换如下代码: ...

  8. 基于B/S模式的推送

    基于B/S模式的推送 https://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这 ...

  9. “面包屑导航”——SiteMapPath控件的使用(ASP.NET)(转)

    转自:http://www.cnblogs.com/ball-head/archive/2010/09/28/1837253.html 最近在博客里写了一些日志,主要都是我在实际编程过程中遇到的问题. ...

  10. format 对整形的应用

    对于整型数,会在整型值的前面以0补之 Format('this is %.7d'[1234]);             输出是:this is 0001234]