POJ 2014

#include <iostream>
using namespace std;

int main()
{
    //freopen("acm.acm","r",stdin);
    int len;
    int l;
    int w;
    int ans_l;
    int ans_w;
    int tem_l;
    int tem_w;
    while(cin>>len,len)
    {
        ans_l = 0;
        ans_w = 0;
        tem_l = 0;
        tem_w = 0;
        while(cin>>l>>w)
        {
            if(l == -1 && w == -1)
            {
                break;
            }
            if(tem_l + l <= len)
            {
                tem_l += l;
                if(w > tem_w)
                {
                    tem_w = w;
                }
            }
            else
            {
                ans_w += tem_w;
                if(tem_l > ans_l)
                {
                    ans_l = tem_l;
                }
                tem_w = w;
                tem_l = l;
            }
        }
        if(tem_l > ans_l)
        {
            ans_l = tem_l;
        }
        ans_w += tem_w;
        cout<<ans_l<<" x "<<ans_w<<endl;
    }
}
时间: 2024-11-10 14:50:45

POJ 2014的相关文章

POJ 2014.K-th Number 区间第k大 (归并树)

K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 57543   Accepted: 19893 Case Time Limit: 2000MS Description You are working for Macrohard company in data structures department. After failing your previous task about key inse

poj 北京大学 2014研究生推免上机考试(校内)

考试完后过了这么久,来发福利了攒人品了~~~ 大家可以在poj地址http://bailian.openjudge.cn/tm201401/找到所有试题,并可以在百练中搜索相应试题自己练习. A:单词排序 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字母顺序输出这些单词(即按照字符串中字母的ASCII码排序,区分大小写,当首字母相同时,比较第2个字母,依次类推),要求重复的单词只输出一次. 输入 一行单词序列,最少1个单

2014湘潭全国邀请赛I题 Intervals /POJ 3680 / 在限制次数下取有权区间使权最大/小问题(费用流)

先说POJ3680:给n个有权(权<10w)开区间(n<200),(区间最多数到10w)保证数轴上所有数最多被覆盖k次的情况下要求总权最大,输出最大权. 思路:       限制的处理:s-->开始流量为k,要求总权最大,即费用最大,所以费用取负,最小费用最大流即可.对于输入区间[a,b]:w,添加边:a-->b,流量为1,费用为-w. 对于点i,i+1,添加边,费用为0,流量无穷.显然这种处理,限制了区间最多取k次,(流量控制),跑最大流能走添加的边尽量走,且越大越好(负数刚刚是

poj 5024&amp;&amp;&amp;2014 ACM/ICPC Asia Regional Guangzhou Online 1003(预处理)

http://acm.hdu.edu.cn/showproblem.php?pid=5024 分析:预处理每个点在八个方向的射线长度,再枚举八种L形状的路,取最大值. 注意题意是求一条最长路,要么一条直线,要么只有一个90角,即L型.其实直线就是L形的一个方向长度为0. 代码: #include<iostream> #include<map> #include<cstdio> #include<string> #include<cstring>

hdu 5023 &amp;&amp; poj 2777(线段染色)2014 ACM/ICPC Asia Regional 广州 Online

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5023 http://poj.org/problem?id=2777 题意:给出一个长度为N的线段,分成N段,每一段长度为1,每次操作时,把[L, R]区间染成颜色C,或者输出[L, R]区间里有几种不同的颜色. 分析:因为N比较大,如果模拟操作肯定会超时.这时我们就可以利用线段树的lazy思想来进行求解. #include<cstdio> #include<cstring> #inc

poj 5001 Walk &amp;&amp;2014 ACM/ICPC Asia Regional Anshan Online 1005(dp)

http://acm.hdu.edu.cn/showproblem.php?pid=5001 思路:dp计算出途径每个点的总概率,1-x即为所求解. dp题,先介绍下dp[i][j]为第j步走在第i个点的概率,那么dp[i][j]=dp[x1][j-1]+dp[x2][j-1]+...,x1,x2为i 的相邻节点.上一步在相邻节点这一步才能走到该点嘛. 每个点概率要一个一个的算,当算到第ii个点时(没打错,ii个点与代码对应),从起点推起,起点嘛,算是第0步吧,每个点被选中几率1.0/n,直接计

(诡异Floyd&amp;自环)MZ Training 2014 #15 E题(POJ 2240)

你们见过这么诡异的FLOYD吗? 先上题. [Description] 货币的汇率存在差异,例如,假设1美元购买0.5英镑,1英镑买10法郎,而1法国法郎买0.21美元.然后,通过转换货币,一个聪明的交易者可以从1美元买0.5 * 10 * 0.21 = 1.05美元,获利5%. 你的任务是写一个程序,以一个货币汇率列表的作为输入,然后确定能不能获利. [Intput] 输入包含多组测试数据,每组数据第一行一个数n(1<=n<=30),表示有n中货币,接下来n行,每行一种货币名称,名称内不会出

poj 1985 Cow Marathon 【树的直径】

题目:poj 1985 Cow Marathon 题意:给出一个树,让你求树的直径. 分析: 树的直径:树上两点之间的最大距离. 我们从任意一点出发,BFS一个最远距离,然后从这个点出发,在BFS一个最远距离,就是树的直径. AC代码: /* POJ:1985 Cow Marathon 2014/10/12/21:18 Yougth*/ #include <cstdio> #include <iostream> #include <algorithm> #include

POJ 2367 topological_sort

Genealogical tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2920 Accepted: 1962 Special Judge Description The system of Martians' blood relations is confusing enough. Actually, Martians bud when they want and where they want. They ga