pat 1046 Shortest Distance
来源:互联网 发布:疯狂的淘宝美工助手 编辑:程序博客网 时间:2024/06/04 19:00
题意是求一个环上的两点之间最短距离,纯粹模拟,最后一点超时,过不了。后来经人提示,不用保存各点的值,只要保存从起点到该点的值,即可。
代码:
//1046 18:30 -19:14#include<stdio.h>const int NUM=200008;int a[NUM];int main(){int n,i,m,x,y,j;//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);scanf("%d",&n);int ans=0,temp,suma=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);a[i+n]=a[i];ans+=a[i];}scanf("%d",&m);while(m--){suma=0;scanf("%d%d",&x,&y);if(x>y){temp=y;y=x;x=temp;}if(y-x<=n-y+x){for(i=x;i<y;i++){suma+=a[i];}} else {for(i=y;i<n+x;i++){suma+=a[i];}}if(suma<=ans-suma)printf("%d\n",suma);elseprintf("%d\n",ans-suma);}return 0;}
AC代码:
//1046 18:30 -19:14#include<stdio.h>const int NUM=200008;int a[NUM];int main(){int n,i,m,x,y,j;//freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);scanf("%d",&n);int ans=0,temp,suma=0;a[0]=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);ans+=a[i];a[i]+=a[i-1];/*a[i+n]=a[i];*/}scanf("%d",&m);while(m--){suma=0;scanf("%d%d",&x,&y);if(x>y){temp=y;y=x;x=temp;}suma=a[y-1]-a[x-1];// if(y-x<=n-y+x){// suma=a[y]// } else {// for(i=y;i<n+x;i++){// suma+=a[i];// }// }if(suma<=ans-suma)printf("%d\n",suma);elseprintf("%d\n",ans-suma);}return 0;}
- pat 1046 Shortest Distance
- PAT 1046 Shortest Distance
- 浙大PAT 1046题 1046. Shortest Distance
- Pat(Advanced Level)Practice--1046(Shortest Distance)
- PAT 1046. Shortest Distance
- PAT 1046. Shortest Distance
- PAT 1046. Shortest Distance
- PAT--1046. Shortest Distance
- PAT A1046. Shortest Distance
- 【PAT】1046.Shortest Distance (20)
- 【PAT】1046. Shortest Distance (20)
- PAT 1046. Shortest Distance (20)
- PAT A Shortest Distance (20)
- PAT 1046. Shortest Distance (20)
- PAT 1046. Shortest Distance (20)
- pat 1046. Shortest Distance (20)
- PAT 1046. Shortest Distance (20)
- PAT A1046 Shortest Distance (20)
- 跳舞小游戏
- linux/unix 基本命令
- UINavigationController详解
- Solr分布式搜索技术实现分析
- 如何实现ICON右上角的数字显示
- pat 1046 Shortest Distance
- 终于累了,不想再动了... ...
- 汉诺塔的递归算法与解析
- 正则表达式
- 常用网站
- mvc开始第一课 mvc的介绍
- solr+tomcat例子
- Android中如何查看内存
- 浅谈spring——引言(一)