现在的位置: 首页 > 综合 > 正文

URAL 1881 Long problem statement 模拟

2018年01月11日 ⁄ 综合 ⁄ 共 649字 ⁄ 字号 评论关闭

题意:给一张纸上有h行w列,再给n个词语,问需要多少张纸才能把这些词语全都在记录下来。。纯模拟。。


//author: CHC
//First Edit Time:	2014-07-18 12:32
//Last Edit Time:	2014-07-18 12:32
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <set>
#include <vector>
#include <map>
#include <queue>
#include <set>
#include <algorithm>
using namespace std;
int h,w,n;
char str[10010][110];
int main()
{
    while(~scanf("%d%d%d",&h,&w,&n)){
        for(int i=0;i<n;i++)scanf("%s",str[i]);
        int row=1,col=0;
        for(int i=0;i<n;i++){
            col+=strlen(str[i]);
            if(col>w){
                col=strlen(str[i]);
                row++;
                ++col;
                if(col>=w){
                    ++row;
                    col=0;
                }
            }
            else if(col==w){
                col=0;
                ++row;
            }
            else {
                ++col;
                if(col>=w){
                    ++row;
                    col=0;
                }
            }
        }
        if(col==0)row--;
        printf("%d\n",row/h+(row%h!=0));
    }
    return 0;
}

抱歉!评论已关闭.