HDOJ1052
来源:互联网 发布:正在准备windows要多久 编辑:程序博客网 时间:2024/05/06 07:13
/*先用最快马比 不行再用最慢马比 都不行 就送最慢马给忘得最快马*/
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define M 1050
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n;
while (cin >> n, n)
{
int t[M] = { 0 }, k[M] = { 0 };
int f1, f2, s1, s2, sum = 0;
for (int i = 0; i < n; i++) cin >> t[i];
for (int i = 0; i < n; i++) cin >> k[i];
sort(t, t + n, cmp);
sort(k, k + n, cmp);
f1 = f2 = 0;
s1 = s2 = n - 1;
while (n--)
{
if (t[f1] > k[f2]) //当前最快马比较
{
sum += 200;
f1++;
f2++;
}
else if (t[s1] > k[s2]) //若当前最快马比王的当前最快马慢 比较两者的最慢马
{
sum += 200;
s1--;
s2--;
}
else if (t[s1] < k[f2]) //当前最快马与最慢马都不行 就将最慢马玉王的最快马比 减少损失
{
sum -= 200;
s1--;
f2++;
}
}
cout << sum << endl;
}
return 0;
}
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define M 1050
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n;
while (cin >> n, n)
{
int t[M] = { 0 }, k[M] = { 0 };
int f1, f2, s1, s2, sum = 0;
for (int i = 0; i < n; i++) cin >> t[i];
for (int i = 0; i < n; i++) cin >> k[i];
sort(t, t + n, cmp);
sort(k, k + n, cmp);
f1 = f2 = 0;
s1 = s2 = n - 1;
while (n--)
{
if (t[f1] > k[f2]) //当前最快马比较
{
sum += 200;
f1++;
f2++;
}
else if (t[s1] > k[s2]) //若当前最快马比王的当前最快马慢 比较两者的最慢马
{
sum += 200;
s1--;
s2--;
}
else if (t[s1] < k[f2]) //当前最快马与最慢马都不行 就将最慢马玉王的最快马比 减少损失
{
sum -= 200;
s1--;
f2++;
}
}
cout << sum << endl;
}
return 0;
}
阅读全文
0 0
- HDOJ1052
- HDOJ1052田忌赛马
- 【hdoj1052】Tian Ji -- The Horse Racing(贪心)
- hdoj1052 Tian Ji -- The Horse Racing(贪心算法+2)
- 小圆点的配置与设置
- html中盒子上下左右居中方法汇总
- Hadoop常见错误及处理方式
- lsusb
- 内部类
- HDOJ1052
- 16进制转 Brush 颜色对象
- iWorld-VR: 以VR的形式查看iPhone本地相册中的全景照片
- PyQt学习(4)
- linux下驱动编译报错EEROR: "***" [***.ko] undefined! 的错误原因和解决办法
- dd命令的详细介绍
- ArcEngine中BaseCommand或BaseTool的用法举例
- 横向滚动
- Java入门之API的使用及String 和StringBuilder类的常见方法