贪心算法 田忌赛马(problem C)
来源:互联网 发布:网络言论自由辩论 编辑:程序博客网 时间:2024/06/05 15:21
题意:这是田忌赛马的故事,首先可以将田忌和国王的马的速度从快到慢排列,然后进行比较。每比一次两边各减去一匹马,用四个标记分别标记田忌和国王的最快、最慢马。先比较他们最快的马,若相等,再比较最慢的马,考虑一下条件和其他因素就可以了。
#include"stdio.h"
#include"algorithm"using namespace std;
const int N=1010;
int tian[N];
int king[N];
int cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,i;
while(scanf("%d",&n)&&n)
{
for(i=0;i<n;i++)
scanf("%d",&tian[i]);
for(i=0;i<n;i++)
scanf("%d",&king[i]);
sort(tian,tian+n,cmp);
sort(king,king+n,cmp);
int tfirst=0,kfirst=0,tlast=n-1,klast=n-1;
int counta=0;
for(i=0;i<n;i++)
{
if(tian[tfirst]>king[kfirst])
{
tfirst++;
kfirst++;
counta++;
}
else if(tian[tfirst]<king[kfirst])
{
tlast--;
kfirst++;
counta--;
}
else
{
if(tian[tlast]>king[klast])
{
tlast--;
klast--;
counta++;
}
else if(tian[tlast]<king[klast])
{
tlast--;
kfirst++;
counta--;
}
else
{
if(tian[tlast]<king[kfirst])
{
tlast--;
kfirst++;
counta--;
}
}
}
}
printf("%d\n",counta*200);
}
return 0;
}
0 0
- 贪心算法 田忌赛马(problem C)
- 贪心算法 Problem C 1002 田忌赛马
- c/C++ 田忌赛马(贪心算法)
- 算法笔记--贪心(田忌赛马)
- 贪心算法 田忌赛马
- 贪心算法--田忌赛马
- 田忌赛马(贪心)
- 典型的贪心算法~ (田忌赛马 )
- 贪心算法之田忌赛马
- POJ2287 田忌赛马---贪心算法
- HDOJ田忌赛马--贪心算法
- 田忌赛马--贪心算法 HDU1052
- Java贪心算法: 田忌赛马
- NYOJ 364 田忌赛马 (贪心)
- POJ2287--贪心(田忌赛马)
- NYOJ-364 田忌赛马(贪心)
- 田忌赛马(较难贪心)
- poj 2287 贪心(田忌赛马)
- i386平台和x86-64平台机器代码的区别
- 程序员如何提升个人品牌
- Android-NDK入门续
- apache+tomcat集群配置
- 并发学习笔记(一):线程执行流程与synchronized关键字
- 贪心算法 田忌赛马(problem C)
- C++ 虚函数
- 解决Raspberry使用vim键盘布局问题
- 5.Servlet生成验证码和重定向实现
- JavaMelody监控Spring Service层和Spring Controller层
- 资料汇总
- Thread vs Runnable in Java
- handler中send和post方法的区别
- 继承