SHU 2013 暑期集训(7-14)解题报告
2013-07-14 22:35
471 查看
Problem A: 神奇的fans
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 84 Solved: 30
[Submit][Status][Web Board]
Description
传说fans是一个数学天才。在他五岁那年,从一堆数字卡片中选出了4张 卡片:5,7,6,8。这4个数字有什么神秘之处呢?如果把这4张卡片自左往右的排成:5,6,7,8。你就会发现:原来这4个数字构成了等差数列!当年 fans选出了n组卡片,据说都能够构成等差数列。但是事实真的是这样吗?fans真的有这么神奇吗? n组数据就是fans选出的n组卡片,请你判断每一组卡片是否能构成等差数列.Input
第一个数为数据的组数n,表示后面有n行,每行中的第一个数为该组数据的元素个数m(1≤m≤100),其后是m个正整数(不会超出int的表示范围)。Output
如果能够构成等差数列,输出“yes”,否则输出“no”。Sample Input
24 5 7 6 8
8 1 7 3 2 8 12 78 3
Sample Output
yesno
题目大意:给你n个数,问是否可以构成等差数列
分析:水题,sort后判断一下是不是等差即可
#include <iostream> #include <cstdio> #include <cstring> #define maxlen 30 #define INF -100000 using namespace std; long long dp[30][30],visited[30][30]; int n,m,x,y; int xx[]= {-2,-2,-1,-1, 1, 1, 2, 2}; int yy[]= {-1, 1,-2, 2,-2, 2,-1, 1}; int xxx[]={0,-1}; int yyy[]={-1,0}; int main () { while(scanf("%d%d%d%d",&n,&m,&x,&y)!=EOF) { memset(dp,0,sizeof(dp)); dp[0][0]=1; memset(visited,0,sizeof(visited)); visited[x][y]=visited[0][0]=1; for(int i=0; i<8; ++i) { int nextx=x+xx[i]; int nexty=y+yy[i]; visited[nextx][nexty]=1; } for(int i=0; i<=n; ++i) { for(int j=0; j<=m; ++j) { for(int k=0;k<2;++k) if(!visited[i][j]) dp[i][j]+=dp[i+xxx[k]][j+yyy[k]]; } } printf("%lld\n",dp [m]); } }
View Code
相关文章推荐
- SHU 2013 暑期集训(7-15)解题报告
- SHU 2013 暑期集训(7-16)解题报告
- SHU 2013 暑期集训(7-17)解题报告
- SHU 2013 暑期集训(7-18)解题报告
- 2013NBUT暑期集训成果赛 赛后总结以及解题报告
- 西南交大2011年第二次暑期集训比赛解题报告
- 中南大学2012暑期集训中期检测训练赛“跳跳”解题报告
- 中南大学2012暑期集训中期检测训练赛“跳跳”解题报告
- NOIP 2013 解题报告
- NOIP2013 转圈游戏 解题报告(快速幂)
- 2013 ACM/ICPC 长沙赛区现场赛A题 解题报告
- 集训第一周解题报告
- 2013 蓝桥杯第四届c/c++B组 解题报告(完全解决第四题,代码有点长....)
- NOIP2013提高组 火柴排队(重庆一中高2018级信息学竞赛测验6) 解题报告
- 【图论基础练习】 SCU 2013 Summer Traing 3 - Graph Theory (1) 解题报告
- 2013 Asia Regional Contest A题 意外 解题报告
- 2013腾讯编程马拉松初赛第一场(3月21日) 解题报告 (HDU 4505 HDU4506 HDU4507 HDU4508 HDU4509)
- P1092 - 【NOIP2013】火柴排队 解题报告
- Croc Champ 2013 - Round 2 (Div. 2 Edition) E. Cube Problem 解题报告
- 【题解】HNOI-2013 Day2解题报告