Pasha and Stick
2016-01-01 15:55
323 查看
A - Pasha and Stick
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Pasha has a wooden stick of some positive integer length n. He wants to perform exactly three cuts to get four parts of the stick. Each part must have some positive integer length and the sum
of these lengths will obviously be n.
Pasha likes rectangles but hates squares, so he wonders, how many ways are there to split a stick into four parts so that it's possible to form a rectangle using these parts, but is impossible to form a square.
Your task is to help Pasha and count the number of such ways. Two ways to cut the stick are considered distinct if there exists some integer x, such that the number of parts of length x in
the first way differ from the number of parts of length x in the second way.
Input
The first line of the input contains a positive integer n (1 ≤ n ≤ 2·109) — the length of Pasha's
stick.
Output
The output should contain a single integer — the number of ways to split Pasha's stick into four parts of positive integer length so that it's possible to make a rectangle by connecting the ends of these parts, but is impossible to form a square.
Sample Input
Input
Output
Input
Output
Hint
There is only one way to divide the stick in the first sample {1, 1, 2, 2}.
Four ways to divide the stick in the second sample are {1, 1, 9, 9}, {2, 2, 8, 8}, {3, 3, 7, 7} and {4, 4, 6, 6}. Note that {5, 5, 5, 5} doesn't work.
仔细找到两个样例的规律即可。
#include<stdio.h>
int main()
{
long long n;
scanf("%lld",&n);
if(n%2!=0)//注意如果是奇数是不可能组成长方形的,只有0种方案,这个要单独拿出来考虑。
printf("0\n");
else
{
if(n/2%2==1)
printf("%lld\n",n/4);
else
printf("%lld\n",n/4-1);
}
return 0;
}
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Pasha has a wooden stick of some positive integer length n. He wants to perform exactly three cuts to get four parts of the stick. Each part must have some positive integer length and the sum
of these lengths will obviously be n.
Pasha likes rectangles but hates squares, so he wonders, how many ways are there to split a stick into four parts so that it's possible to form a rectangle using these parts, but is impossible to form a square.
Your task is to help Pasha and count the number of such ways. Two ways to cut the stick are considered distinct if there exists some integer x, such that the number of parts of length x in
the first way differ from the number of parts of length x in the second way.
Input
The first line of the input contains a positive integer n (1 ≤ n ≤ 2·109) — the length of Pasha's
stick.
Output
The output should contain a single integer — the number of ways to split Pasha's stick into four parts of positive integer length so that it's possible to make a rectangle by connecting the ends of these parts, but is impossible to form a square.
Sample Input
Input
6
Output
1
Input
20
Output
4
Hint
There is only one way to divide the stick in the first sample {1, 1, 2, 2}.
Four ways to divide the stick in the second sample are {1, 1, 9, 9}, {2, 2, 8, 8}, {3, 3, 7, 7} and {4, 4, 6, 6}. Note that {5, 5, 5, 5} doesn't work.
仔细找到两个样例的规律即可。
#include<stdio.h>
int main()
{
long long n;
scanf("%lld",&n);
if(n%2!=0)//注意如果是奇数是不可能组成长方形的,只有0种方案,这个要单独拿出来考虑。
printf("0\n");
else
{
if(n/2%2==1)
printf("%lld\n",n/4);
else
printf("%lld\n",n/4-1);
}
return 0;
}
相关文章推荐
- 快速学习JavaScript的6个思维技巧
- 【CF 应用开发大赛】MZCMS内容管理系统
- 暗时间读书笔记
- 你有没有意识到,计算时代已经悄然降临
- 穷人的饥饿思维
- 思维定势
- 关联性思维和给客户展示功能
- 经典的售前思维题目,一个很经典的故事
- 变革思维
- 肯定式探询---组织发展和变革中的积极思维方式
- 从使用Python开发一个Socket示例说到开发者的思维和习惯问题
- windows 7 玩不了CF 打开之后进入安全登录就自动关闭
- 独立思考者模型:避开思维误区的沼泽
- 编程思想——面向对象架构梦想
- Cloud Foundry社区周报 2015/2/17
- Cloud Foundry社区周报 2015/2/27
- 使用cf_nise_installer安装CloudFoundry出现not monitored问题
- 1.去京城的阻碍 。
- 他们的职业分别是什么?
- HDU 5240 Exam (好水的题)