UVa10123 No Tipping

简介: UVa10123 No Tipping
#include <stdio.h>#include <string.h>intL, M, N, find;
intC, lenl, lenr;
structnode{
intl, w;
} left[30], right[30], res[30];
intis_ok(intl, intr)
{
intlsum=0, rsum=0;
inti;
for (i=0; i<l; i++)
    {
lsum+= (-left[i].l*2-3) *left[i].w;
    }
for (i=0; i<r; i++)
    {
rsum+= (right[i].l*2+3) *right[i].w;
    }
rsum+=C;
if (lsum>rsum) return0;
lsum=0, rsum=0;
for (i=0; i<l; i++)
    {
lsum+= (-left[i].l*2+3) *left[i].w;
    }
for (i=0; i<r; i++)
    {
rsum+= (right[i].l*2-3) *right[i].w;
    }
lsum+=C;
if (rsum>lsum) return0;
return1;
}
voiddfs(intcur, intl, intr)
{
inti;
if (cur==N)
    {
for (i=cur-1; i>=0; i--)
printf("%d %d\n", res[i].l, res[i].w);
find=1;
return;
    }
for (i=l; i<lenl; i++)
    {
if (is_ok(i, r) &&!find)
        {
res[cur].l=left[i].l;
res[cur].w=left[i].w;
dfs(cur+1, i+1, r);
        }
elsebreak;
    }
for (i=r; i<lenr; i++)
    {
if (is_ok(l, i) &&!find)
        {
res[cur].l=right[i].l;
res[cur].w=right[i].w;
dfs(cur+1, l, i+1);
        }
elsebreak;
    }
}
intmain()
{
#ifndef ONLINE_JUDGEfreopen("d:\\UVa\\uva_in.txt", "r", stdin);
#endifintcas=1;
inti, j;
intu, v;
structnodetem;
while (scanf("%d%d%d", &L, &M, &N) &&L+M+N)
    {
lenl=lenr=0;
for (i=0; i<N; i++)
        {
scanf("%d%d", &u, &v);
if (u<0)
            {
left[lenl].l=u;
left[lenl++].w=v;
            }
else            {
right[lenr].l=u;
right[lenr++].w=v;
            }
        }
for (i=1; i<lenl; i++)
        {
for (j=0; j<lenl-i; j++)
            {
if ((-left[j].l*2-3) *left[j].w> (-left[j+1].l*2-3) *left[j+1].w)
                {
tem=left[j];
left[j] =left[j+1];
left[j+1] =tem;
                }
            }
        }
for (i=1; i<lenr; i++)
        {
for (j=0; j<lenr-i; j++)
            {
if ((right[j].l*2-3) *right[j].w> (right[j+1].l*2-3) *right[j+1].w)
                {
tem=right[j];
right[j] =right[j+1];
right[j+1] =tem;
                }
            }
        }
C=3*M;
printf("Case %d:\n", cas++);
find=0;
dfs(0, 0, 0);
if (!find) printf("Impossible\n");
    }
return0;
}
目录
相关文章
|
弹性计算 运维 监控
游戏行业弹性计算的应用
游戏行业弹性计算的应用
280 0
|
9月前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
355 19
|
机器学习/深度学习 分布式计算 DataWorks
MaxCompute产品使用合集之分区数超过最大值,该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
181 9
|
数据安全/隐私保护 开发者
支付系统12----使用沙箱,沙箱的使用步骤,沙箱参数的获取,支付宝应用要具备,创建应用,绑定应用,配置密钥,上线应用,签约功能,才能够完成使用,最后签约,要上传企业的营业的营业执照
支付系统12----使用沙箱,沙箱的使用步骤,沙箱参数的获取,支付宝应用要具备,创建应用,绑定应用,配置密钥,上线应用,签约功能,才能够完成使用,最后签约,要上传企业的营业的营业执照
|
存储 安全 Java
SpringSecurity 从入门到精通
SpringSecurity 从入门到精通
docx设置保存的word文档字体及大小
一般我是要将文件保存为这种形式我会使用
278 0
|
Android开发
关于安卓aab打包生成apks注意事项
关于安卓aab打包生成apks注意事项
578 0
|
程序员 C语言
趣味益智小游戏 三子棋+五子棋 优化版(可任意选择棋盘大小)
趣味益智小游戏 三子棋+五子棋 优化版(可任意选择棋盘大小)
437 0
云·速成美站
云·速成美站,会打字就能建网站,最快24小时上线!后台预制1153套精美模板。电话:010-86467666
云·速成美站
|
SQL XML 关系型数据库
PostgreSQL 和openGauss错误代码整理(一)
PostgreSQL 和openGauss错误代码整理
830 0