题意:给一张纸上有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;
}