hdu 4585 shaolin (暴力)
来源:互联网 发布:惠州惠阳区网络问政 编辑:程序博客网 时间:2024/04/30 12:53
Sample Input
32 13 34 20
Sample Output
2 13 24 2题意 :每个和尚有个ID和战斗值,刚开始只有一个来和尚,id为1,战斗值为1000000000 ; 有n个新和尚,他可以与战斗值最接近的老和尚战斗,战斗完,新和尚变老和尚.输出每个新和尚和老和尚战斗的id:暴力 : 全部数据按战斗值从小到大排序 .#include<cstdio>#include<cstring>#include<map>#include<vector>#include<cmath>#include<cstdlib>#include<stack>#include<queue>#include<iostream>#include<algorithm>using namespace std ;struct node{int x,y;}a[100010];struct node1{int id,g,i ;}b[100010];int cmp(node1 a, node1 b){return a.g<b.g ;}int main(){int n,tt1,tt2;while(~scanf("%d",&n)){if(n==0) break ;memset(a,0,sizeof(a));for( int i = 0 ; i < n ; i++) { scanf("%d%d",&b[i].id,&b[i].g); b[i].i = i+2 ; //标记,是第几个和尚 } sort(b,b+n,cmp); b[n].id=1; //第一个老和尚战斗值最大,直接放最后b[n].g=1000000000 ;b[n].i=1;n++ ; for( int i = 0 ; i < n ; i++) //枚举每个和尚{ int t1=-1,t2=-1 ;for( int j=i+1 ; j < n ; j++) //找出后面第一个比i和尚先出现的和尚 { if( b[i].i > b[j].i) { t1 = b[j].id ;tt1=j; break ; } }for( int j=i-1 ; j>=0 ; j--) //找出前面第一个比i和尚先出现的和尚{if( b[i].i > b[j].i) { t2 = b[j].id ; tt2=j ;break ; }}if( t1==-1&&t2!=-1) //只有一个比他先出现的和尚 { a[b[i].i].x=b[i].id ; a[b[i].i].y=t2; } else if( t1!=-1&&t2==-1) { a[b[i].i].x=b[i].id ; a[b[i].i].y=t1 ; } else if(t1!=-1&&t2!=-1) //有两个,就比较谁更接近 { if(b[i].g-b[tt2].g > b[tt1].g-b[i].g) { a[b[i].i].x=b[i].id ; a[b[i].i].y=t1 ; } else if(b[i].g-b[tt2].g < b[tt1].g-b[i].g) { a[b[i].i].x=b[i].id ; a[b[i].i].y=t2 ; } else { a[b[i].i].x=b[i].id ; a[b[i].i].y=t2 ; } }}for( int i = 2 ; i <=n ; i++) printf("%d %d\n",a[i].x,a[i].y);}return 0;}
- hdu 4585 shaolin (暴力)
- HDU 4858 Shaolin(map暴力)
- HDU 4585 Shaolin
- HDU 4585 Shaolin (STL)
- hdu 4585Shaolin
- hdu 4585 Shaolin
- hdu 4585 Shaolin set
- hdu 4585 Shaolin
- HDU 4585 Shaolin
- HDU 4585 Shaolin
- hdu 4585 Shaolin
- HDU 4585- Shaolin
- A -- HDU 4585 Shaolin
- HDU 4585 Shaolin (STL)
- 【STL】hdu 4585 Shaolin
- HDU 4585 Shaolin(Treap)
- hdu 4585 Shaolin (Treap)
- hdu 4585 Shaolin两种方法(暴力和STL map set)
- 高次同余方程式的解数及解法
- 周渝民默认与喻虹渊恋情 七夕不送女友礼物
- POJ2154(Pólya定理与欧拉函数优化)
- 理想的技术面试过程
- 闪回删除例子
- hdu 4585 shaolin (暴力)
- 连分数
- 自定义 GridView 分页代码
- numpy 1.7中 f2py示例和说明文档
- ZOJ3557利用隔板法分析排列组合
- Cross-Site Scripting(XSS): 跨站脚本攻击介绍
- Oracle中的两种验证方式:操作系统验证和密码文件验证
- poj(3228)Gold Transportation
- 转帖:场景贴换动画