校个人赛——02
2016-05-31 21:23
330 查看
A - Infinite Sequence
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Vasya likes everything infinite. Now he is studying the properties of a sequence s, such that its first element is equal to a (s1 = a),
and the difference between any two neighbouring elements is equal to c (si - si - 1 = c).
In particular, Vasya wonders if his favourite integerb appears in this sequence, that is, there exists a positive integer i, such
that si = b. Of course, you are the person he asks for a help.
Input
The first line of the input contain three integers a, b and c ( - 109 ≤ a, b, c ≤ 109) —
the first element of the sequence, Vasya's favorite number and the difference between any two neighbouring elements of the sequence, respectively.
Output
If b appears in the sequence s print "YES" (without quotes), otherwise print "NO"
(without quotes).
Sample Input
Input
Output
Input
Output
Input
Output
Input
Output
分类讨论
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<cmath>
#include<algorithm>
#define INF (1ll<<60)-1
using namespace std;
int my_max(int x,int y) {return x>y?x:y;}
int my_min(int x,int y) {return x>y?y:x;}
int main()
{
long a,b,c,d,e;
while(scanf("%ld %ld %ld",&a,&b,&c)!=EOF)
{
if(b>a)
{
if(c<=0)
{
printf("NO\n");
}
else
{
e=(b-a)%c;
if(e==0) printf("YES\n");
else printf("NO\n");
}
}
else if(b<a)
{
if(c>=0)
{
printf("NO\n");
}
else
{
e=(b-a)%(-1*c);
if(e==0) printf("YES\n");
else printf("NO\n");
}
}
else
{
printf("YES\n");
}
}
return 0;
}
注意事项:除数不能为0
B - Restoring Painting
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Vasya works as a watchman in the gallery. Unfortunately, one of the most expensive paintings was stolen while he was on duty. He doesn't want to be fired, so he has to quickly restore the painting. He remembers some facts about it.
The painting is a square 3 × 3, each cell contains a single integer from 1 to n,
and different cells may contain either different or equal integers.
The sum of integers in each of four squares 2 × 2 is equal to the sum of integers in the top left square 2 × 2.
Four elements a, b, c and d are
known and are located as shown on the picture below.
Help Vasya find out the number of distinct squares the satisfy all the conditions above. Note, that this number may be equal to 0, meaning Vasya remembers something wrong.
Two squares are considered to be different, if there exists a cell that contains two different integers in different squares.
Input
The first line of the input contains five integers n, a, b, c and d (1 ≤ n ≤ 100 000, 1 ≤ a, b, c, d ≤ n) —
maximum possible value of an integer in the cell and four integers that Vasya remembers.
Output
Print one integer — the number of distinct valid squares.
Sample Input
Input
Output
Input
Output
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<cmath>
#include<algorithm>
#define INF (1ll<<60)-1
using namespace std;
int my_max(int x,int y) {return x>y?x:y;}
int my_min(int x,int y) {return x>y?y:x;}
int main()
{
int n,a,b,c,d,j,count;
while(scanf("%d %d %d %d %d",&n,&a,&b,&c,&d)!=EOF)
{
count=0;
for(j=1;j<=n;j++)
{
sum=a+b+j;
if(sum-a-c>n||sum-a-c<=0) continue;
if(sum-d-c>n||sum-d-c<=0) continue;
if(sum-b-d>n||sum-b-d<=0) continue;
count++ ;
}
printf("%I64d\n",(long long)count*(long long)n);
}
return 0;
}
简单的数学小题:
注意其输出形式!!!
为long long 形式,而不是int
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Vasya likes everything infinite. Now he is studying the properties of a sequence s, such that its first element is equal to a (s1 = a),
and the difference between any two neighbouring elements is equal to c (si - si - 1 = c).
In particular, Vasya wonders if his favourite integerb appears in this sequence, that is, there exists a positive integer i, such
that si = b. Of course, you are the person he asks for a help.
Input
The first line of the input contain three integers a, b and c ( - 109 ≤ a, b, c ≤ 109) —
the first element of the sequence, Vasya's favorite number and the difference between any two neighbouring elements of the sequence, respectively.
Output
If b appears in the sequence s print "YES" (without quotes), otherwise print "NO"
(without quotes).
Sample Input
Input
1 7 3
Output
YES
Input
10 10 0
Output
YES
Input
1 -4 5
Output
NO
Input
0 60 50
Output
NO
分类讨论
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<cmath>
#include<algorithm>
#define INF (1ll<<60)-1
using namespace std;
int my_max(int x,int y) {return x>y?x:y;}
int my_min(int x,int y) {return x>y?y:x;}
int main()
{
long a,b,c,d,e;
while(scanf("%ld %ld %ld",&a,&b,&c)!=EOF)
{
if(b>a)
{
if(c<=0)
{
printf("NO\n");
}
else
{
e=(b-a)%c;
if(e==0) printf("YES\n");
else printf("NO\n");
}
}
else if(b<a)
{
if(c>=0)
{
printf("NO\n");
}
else
{
e=(b-a)%(-1*c);
if(e==0) printf("YES\n");
else printf("NO\n");
}
}
else
{
printf("YES\n");
}
}
return 0;
}
注意事项:除数不能为0
B - Restoring Painting
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d
& %I64u
Submit Status
Description
Vasya works as a watchman in the gallery. Unfortunately, one of the most expensive paintings was stolen while he was on duty. He doesn't want to be fired, so he has to quickly restore the painting. He remembers some facts about it.
The painting is a square 3 × 3, each cell contains a single integer from 1 to n,
and different cells may contain either different or equal integers.
The sum of integers in each of four squares 2 × 2 is equal to the sum of integers in the top left square 2 × 2.
Four elements a, b, c and d are
known and are located as shown on the picture below.
Help Vasya find out the number of distinct squares the satisfy all the conditions above. Note, that this number may be equal to 0, meaning Vasya remembers something wrong.
Two squares are considered to be different, if there exists a cell that contains two different integers in different squares.
Input
The first line of the input contains five integers n, a, b, c and d (1 ≤ n ≤ 100 000, 1 ≤ a, b, c, d ≤ n) —
maximum possible value of an integer in the cell and four integers that Vasya remembers.
Output
Print one integer — the number of distinct valid squares.
Sample Input
Input
2 1 1 1 2
Output
2
Input
3 3 1 2 3
Output
6
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<cmath>
#include<algorithm>
#define INF (1ll<<60)-1
using namespace std;
int my_max(int x,int y) {return x>y?x:y;}
int my_min(int x,int y) {return x>y?y:x;}
int main()
{
int n,a,b,c,d,j,count;
while(scanf("%d %d %d %d %d",&n,&a,&b,&c,&d)!=EOF)
{
count=0;
for(j=1;j<=n;j++)
{
sum=a+b+j;
if(sum-a-c>n||sum-a-c<=0) continue;
if(sum-d-c>n||sum-d-c<=0) continue;
if(sum-b-d>n||sum-b-d<=0) continue;
count++ ;
}
printf("%I64d\n",(long long)count*(long long)n);
}
return 0;
}
简单的数学小题:
注意其输出形式!!!
为long long 形式,而不是int
相关文章推荐
- 2016届毕业设计(论文) 基本规范及档案袋封面填写要求
- Codeforces Round #347 (Div. 2) B. Rebus
- sdut第八届校赛--小厚的三角形
- 三次学习ssession和cookie
- 线性规划求解路径问题
- VC++动态链接库编程之MFC DLL
- Intent的用法
- Matlab 图像预处理
- Silverlight实用窍门系列:47.Silverlight中元素到元素的绑定,以及ObservableCollection和List的使用区别
- linux 终端常用快捷键
- Linux ssh 下的简单 IM 通信
- 百度地图
- 高级I/O---多路复用---select
- 如何提高测试人员的地位
- 使用shape或者layer-list实现view周边添加边框
- 成长历程—基础评教系统维护
- sdut第八届校赛--简单题
- 如何确定测试结束点
- 码神学Java第一天
- EJB——》简介