北大2014题

来源:互联网 发布:pc离线翻译软件 编辑:程序博客网 时间:2024/05/16 19:57

 题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2014

这道题错了好几次呢,原因是最后一行没有处理好,最后一行的结果在循环体内根本没有处理所以要在输出之前处理一下最后一行的结果。

#include <iostream>
using namespace std;

int main()
{
 freopen("in.txt","r",stdin);

 int rw,rh,w,h,ch,cw,mw;
 while(cin >> mw && mw)
 {
  rw = rh = ch = cw = 0;
  while(cin >> w >> h && w != -1 && h != -1)
  {
   if(cw + w <= mw)
   {
    cw += w;
    if(ch < h)
     ch = h;
   }
   else
   {
    if(cw > rw)
     rw = cw;
    rh += ch;
    ch = h;
    cw = w;
   }
  }
  if(cw > rw)
   rw = cw;
  rh += ch;
  cout << rw << " x " << rh << endl;
 }
 return 0;
}

 

原创粉丝点击