hdu 4972 根据每轮篮球赛分差求结果
http://acm.hdu.edu.cn/showproblem.php?pid=4972
两支球队进行篮球比赛,每进一次球后更新比分牌,比分牌的计数方法是记录两队比分差的绝对值,每次进球的分可能是1,2,3分。给定比赛中的计分情况,问说最后比分有多少种情况。
分情况讨论即可:
相邻计分之差大于3或者相等并且不等于1的话,为非法输入
相邻计分为1-2或者2-1的时候,会对应有两种的的分情况
其他情况下,不会造成新的比分情况产生
需要特判对于最后一次比分差为0的情况,就没有谁赢谁输一说。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std; int main()
{
long long T,n,cas=0,ok,l,r,ans;
long long a[110000]; scanf("%I64d",&T);
while (T--){
cas++;
scanf("%I64d",&n);
for (int i=1;i<=n;i++) scanf("%I64d",&a[i]);
a[0]=0;
l=0;
r=0;
ok=1;
if (n==0){
printf("Case #%I64d: 1\n",cas);
continue;
}
for (int i=1;i<=n;i++){
if (a[i]<0 || abs(a[i]-a[i-1])>3) {ok=0;break;} else
if (a[i]==a[i-1] && (a[i]!=1 || a[i-1]!=1)) {ok=0;break;} else
if (a[i-1]==1 && a[i]==1) {l+=1;r+=1;} else
if (a[i-1]==1 && a[i]==2) {r+=2;} else
if (a[i-1]==2 && a[i]==1) {l+=1;r+=1;} else
if (a[i-1]<a[i]) r+=abs(a[i]-a[i-1]);else
if (a[i-1]>a[i]) l+=abs(a[i]-a[i-1]); // printf("%d %d\n",l,r);
}
if (!ok) ans=0;else
if (a[n]==0)
ans=(r-l-a[n]+1); else
ans=(r-l-a[n]+1)*2;
printf("Case #%I64d: %I64d\n",cas,ans);
}
return 0;
}
hdu 4972 根据每轮篮球赛分差求结果的更多相关文章
- hdu 4972 A simple dynamic programming problem(高效)
pid=4972" target="_blank" style="">题目链接:hdu 4972 A simple dynamic progra ...
- hdu 4507 数位dp(求和,求平方和)
http://acm.hdu.edu.cn/showproblem.php?pid=4507 Problem Description 单身! 依旧单身! 吉哥依旧单身! DS级码农吉哥依旧单身! 所以 ...
- HDU 1828 Picture(线段树扫描线求周长)
Picture Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- HDU 4417 Super Mario(主席树求区间内的区间查询+离散化)
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- hdu 3068 最长回文(manachar求最长回文子串)
题目连接:hdu 3068 最长回文 解题思路:通过manachar算法求最长回文子串,如果用遍历的话绝对超时. #include <stdio.h> #include <strin ...
- hdu 5730 Shell Necklace [分治fft | 多项式求逆]
hdu 5730 Shell Necklace 题意:求递推式\(f_n = \sum_{i=1}^n a_i f_{n-i}\),模313 多么优秀的模板题 可以用分治fft,也可以多项式求逆 分治 ...
- HDU 5876 Sparse Graph(补图中求最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=5876 题意: 在补图中求s到其余各个点的最短路. 思路:因为这道题目每条边的距离都是1,所以可以直接用bfs来做 ...
- HDU 3018 Ant Trip (并查集求连通块数+欧拉回路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3018 题目大意:有n个点,m条边,人们希望走完所有的路,且每条道路只能走一遍.至少要将人们分成几组. ...
- HDU 1711 Number Sequence 【KMP应用 求成功匹配子串的最小下标】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/O ...
随机推荐
- spring AOP 注解配置
applicationContext-resource.xml: <?xml version="1.0" encoding="UTF-8"?>< ...
- Ansible 从MySQL数据库添加或删除用户
mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) My ...
- url获取参数
参考http://www.runoob.com/w3cnote/js-get-url-param.html function getQueryVariable(variable) { var quer ...
- Eclipse中的SVN操作
--------------------siwuxie095 Eclipse 中的 SVN 操作 (一)发布项目 ...
- leetcode 196. Delete Duplicate Emails
# 慢,内连接delete p1 from Person p1, Person p2 where p1.Email=p2.Email and p1.Id>p2.Id delete from Pe ...
- ERR_UNSAFE_PORT
报错: 解决办法:
- 2017年值得一看的7个APP设计
新媒体时代蓬勃发展,各类APP如雨后春笋般出现.下载到合适的APP,不仅衣食住行一键搞定,甚至健身.社交.阅读等需求也能足不出户地满足.对于广大“吃瓜群众”来说,选择APP是个人需求以及跟随潮流的选择 ...
- HTTP 500.21 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
问题:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” IIS7下部署网站出现错误,原因是先安装的II ...
- vertical-align和text-align
vertical-align只适用于内联元素. 垂直对齐:vertical-align属性(转) 行高与单行纯文字的垂直居中,而如果行内含有图片和文字,在浏览器内浏览时,读者可以发现文字和图片在垂直方 ...
- window.load 和$(document).ready() 、window.load和body onload区别
1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕.2.编写个数不同 w ...