codeforces round #236 div.2 B
2014-05-11 16:05
260 查看
题目链接:http://codeforces.com/contest/402/problem/B
暴力求解,第一次做没有考虑到剪切后树的高度不能为零和负值,WA了,改掉后就OK了
暴力求解,第一次做没有考虑到剪切后树的高度不能为零和负值,WA了,改掉后就OK了
///2014.3.16 - 2014.3.18 ///codeforces round #236 div.2 ///B #include <cstdio> #include <iostream> using namespace std; int n; int k; int tree[1050]; int numOfNotCutTree; int numNotCut; bool init(){ scanf("%d%d",&n,&k); for(int i=0 ; i<n ; i++){ scanf("%d",&tree[i+1]); } } bool find(int &numOfNotCutTree,int &numNotCut){ numOfNotCutTree = 1; numNotCut = 1110; for(int i=1 ; i<=n ; i++){ int num = 0; bool flag = false; for(int j=1 ; j<=n ; j++){ if( tree[j]-tree[i] != (j-i)*k ){ num++; } if( tree[i]+(j-i)*k<=0 ){ ///修剪后树的高度不能为负 flag = true; break; } } if(flag) continue; if( num<numNotCut ){ numOfNotCutTree = i; numNotCut = num; } } return true; } bool out(int numOfNotCutTree,int numNotCut){ printf("%d\n",numNotCut ); for(int i=1 ; i<=n ; i++){ if( tree[i]-tree[numOfNotCutTree] != (i-numOfNotCutTree)*k ){ int l = -tree[i]+(tree[numOfNotCutTree]+(i-numOfNotCutTree)*k); if( l<0 ){ printf("- %d %d\n",i,-l ); } else{ printf("+ %d %d\n",i,l ); } } } } int main() { // freopen("in","r",stdin); // freopen("out","w",stdout); init(); find(numOfNotCutTree,numNotCut); out(numOfNotCutTree,numNotCut); return 0; }
相关文章推荐
- Cf 98 Div.2
- CodeForces #176(Div.2)-A
- Codeforces #191(Div.2)解题报告
- #207 Div.2 B. Flag Day
- cf_#230(Div.2)_pa
- Codeforces Round #243(div.2)
- 【topcoder第一弹】 SRM 144 Div.2 whatTime
- UESTC 2014 Summer Training #10 Div.2
- codeforce#262(div.2)
- Codeforces Round #266 (Div.2) B Wonder Room --枚举
- Codeforces Round #283 Div.2 D Tennis Game --二分
- Codeforces 507D (Round #287(div.2))D. The Maths Lecture【数位DP】
- #291 div.2
- 【CodeForeces】【#290_(div.2)_C】拓扑排序
- #297 (div.2) E. Anya and Cubes
- #301 (div.2) B. School Marks
- codeforces Round#158 Div.2 D
- #238 (div.2) A. Gravity Flip
- BestCoder Round #50 (div.2)
- BestCoder Round #51 (div.2) & HDOJ5391 Zball in Tina Town(数论)