*Byte 采蘑菇
2016-02-19 15:34
169 查看
1003: Byte采蘑菇
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 704 Accepted: 149
[Submit][Status][Web Board]
Description
元旦回家,Byte在亲戚家里吃到了一种很好吃的蘑菇,据说是长在河堤边柳树上的,第二天Byte决定亲自去采蘑菇,做一个蘑菇干锅作为午餐。柳树整齐的长在笔直的河堤边,每棵柳树上都长有若干蘑菇。假设Byte的起始坐标为x=0,Byte的左边坐标值为负数,右边坐标值为正数。开始的时候Byte可以选择向左走或者向右走,但是一旦Byte遇到一棵没有被采摘过的树,Byte会先把所有蘑菇摘下来,然后转换一个方向继续前进。即如果开始向左走,在坐标x=-1处遇到一棵没有被采摘过的树,Byte会先摘下所有蘑菇,然后向右走。问Byte最多可以摘到多少蘑菇。
Input
多组测试数据。
第一行输入一个整数n(1<=n<=100)代表河边总共有多少棵树(保证x=0处不会有树)。
后面n行每行有两个整数xi, ai ( - 100000 ≤ xi ≤ 100000, xi ≠ 0, 1 ≤ ai ≤ 100000),代表柳树的坐标以及每棵柳树上有多少蘑菇。
Output
输出Byte最多可以摘到多少蘑菇。
Sample Input
3
-2 2
1 4
-1 3
3
1 9
3 5
7 10
Sample Output
9
9
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 704 Accepted: 149
[Submit][Status][Web Board]
Description
元旦回家,Byte在亲戚家里吃到了一种很好吃的蘑菇,据说是长在河堤边柳树上的,第二天Byte决定亲自去采蘑菇,做一个蘑菇干锅作为午餐。柳树整齐的长在笔直的河堤边,每棵柳树上都长有若干蘑菇。假设Byte的起始坐标为x=0,Byte的左边坐标值为负数,右边坐标值为正数。开始的时候Byte可以选择向左走或者向右走,但是一旦Byte遇到一棵没有被采摘过的树,Byte会先把所有蘑菇摘下来,然后转换一个方向继续前进。即如果开始向左走,在坐标x=-1处遇到一棵没有被采摘过的树,Byte会先摘下所有蘑菇,然后向右走。问Byte最多可以摘到多少蘑菇。
Input
多组测试数据。
第一行输入一个整数n(1<=n<=100)代表河边总共有多少棵树(保证x=0处不会有树)。
后面n行每行有两个整数xi, ai ( - 100000 ≤ xi ≤ 100000, xi ≠ 0, 1 ≤ ai ≤ 100000),代表柳树的坐标以及每棵柳树上有多少蘑菇。
Output
输出Byte最多可以摘到多少蘑菇。
Sample Input
3
-2 2
1 4
-1 3
3
1 9
3 5
7 10
Sample Output
9
9
#include <stdio.h> int main() { int n,i,j,x[104],a[104]; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d%d",&x[i],&a[i]); for(i=0;i<n-1;i++)//按照坐标排序 for(j=0;j<n-1-i;j++) { int temp; if(x[j]>x[j+1]) { temp=x[j]; x[j]=x[j+1]; x[j+1]=temp; temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } int c=0,b=0; for(i=0;i<n;i++) { if(x[i]<0) c++; else b++; }//分别计算原点两边树木棵数 int s=0; if(b==0) s=a[n-1]; if(c==0) s=a[0];//只能采一棵 if(c!=0&&b!=0)//哪边树多则最终比另外一边采的多一棵,一样则均被采走 { int t; for(i=0;i<n;i++) if(x[i]<0&&x[i+1]>0) { t=i; break; } if(c<b) for(i=t-c+1;i<=t+c+1;i++) s+=a[i]; else if(c>b) for(i=t-b;i<=t+b;i++) s+=a[i]; else for(i=t-c+1;i<=t+c;i++) s+=a[i]; } printf("%d\n",s); } return 0; }
相关文章推荐
- Android使用Intent一键分享图片文字到腾讯、新浪、开心、人人等
- Alert
- 4.Redis学习-hash数据类型操作
- C# Lambda Expression概念浅析
- 从最大似然到EM算法浅解
- 关于$.ajax()在jsp中失效
- ELK日志系统:Filebeat使用及Kibana如何设置登录认证
- 大端模式和小端模式的区别
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- 加密芯片选型,大侠们帮帮忙
- Echatrs实现水平竖直90度标线及浮动范围和最高值的效果
- MongoDB Replication(主从互备)
- Jclouds 使用(1)安装
- 为什么建议php字符串使用单引号而不是双引号