hdu_1278 漂亮面料的设计
2013-06-26 17:08
309 查看
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1278
分析:我的是把第一列的放进数组的第一行,然后按规则模拟,最后比较输出就好。
代码如下:
#include<stdio.h>
#include<string.h>
char ans[210][210];
void slove(char ans[][210],int lie,int a,int h)
{
int i,j;
if(a>=0)
{
j=a;
}
else
{
j=lie+a;
}
for(i=0;i<lie;i++)
{
ans[h][j++]=ans[h-1][i];
if(j>=lie) j%=lie;
}
// printf("-------------------------\n");
// printf("a=%d\n",a);
// for(i=0;i<h;i++)
// {
// for(j=0;j<lie;j++) printf("%c",ans[i][j]);
// printf("\n");
// }
// printf("-------------------------\n");
}
int main()
{
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
int m,n;
while(~scanf("%d%d",&m,&n))
{
int t,k,i,j,one[210],zero[210];
for(i=0;i<m;i++) scanf("%d",one+i);
for(i=0;i<m;i++) scanf("%d",zero+i);
k=0;
int lie=0;
for(i=0;i<m;i++) //输入完一列。
{
for(j=0;j<one[i];j++)
{
ans[0][k++]='1';
lie++;
}
for(j=0;j<zero[i];j++) {
ans[0][k++]='0';
lie++;
}
}
for(i=0;i<n;i++) scanf("%d",one+i); //输入飞数。
for(i=0;i<n;i++) scanf("%d",zero+i);
t=1;
k=0;
for(i=0;i<n;i++)
{
while(zero[i]--)
{
slove(ans,lie,one[i],t++);
}
}
int hang=t-1;
if(strcmp(ans[0],ans[hang])==0)
{
for(i=lie-1;i>=0;i--){
for(j=0;j<hang;j++)
{
printf("%c",ans[j][i]);
}
printf("\n");
}
}
else
{
printf("Can not make beautilful cloth !\n");
}
}
return 0;
}
总结:第一次交时还是WA了,最后把Solve里面的if(a>0)改为了if(a>=0).
分析:我的是把第一列的放进数组的第一行,然后按规则模拟,最后比较输出就好。
代码如下:
#include<stdio.h>
#include<string.h>
char ans[210][210];
void slove(char ans[][210],int lie,int a,int h)
{
int i,j;
if(a>=0)
{
j=a;
}
else
{
j=lie+a;
}
for(i=0;i<lie;i++)
{
ans[h][j++]=ans[h-1][i];
if(j>=lie) j%=lie;
}
// printf("-------------------------\n");
// printf("a=%d\n",a);
// for(i=0;i<h;i++)
// {
// for(j=0;j<lie;j++) printf("%c",ans[i][j]);
// printf("\n");
// }
// printf("-------------------------\n");
}
int main()
{
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
int m,n;
while(~scanf("%d%d",&m,&n))
{
int t,k,i,j,one[210],zero[210];
for(i=0;i<m;i++) scanf("%d",one+i);
for(i=0;i<m;i++) scanf("%d",zero+i);
k=0;
int lie=0;
for(i=0;i<m;i++) //输入完一列。
{
for(j=0;j<one[i];j++)
{
ans[0][k++]='1';
lie++;
}
for(j=0;j<zero[i];j++) {
ans[0][k++]='0';
lie++;
}
}
for(i=0;i<n;i++) scanf("%d",one+i); //输入飞数。
for(i=0;i<n;i++) scanf("%d",zero+i);
t=1;
k=0;
for(i=0;i<n;i++)
{
while(zero[i]--)
{
slove(ans,lie,one[i],t++);
}
}
int hang=t-1;
if(strcmp(ans[0],ans[hang])==0)
{
for(i=lie-1;i>=0;i--){
for(j=0;j<hang;j++)
{
printf("%c",ans[j][i]);
}
printf("\n");
}
}
else
{
printf("Can not make beautilful cloth !\n");
}
}
return 0;
}
总结:第一次交时还是WA了,最后把Solve里面的if(a>0)改为了if(a>=0).
相关文章推荐
- HDU 1278 漂亮面料的设计
- HDU 1278 漂亮面料的设计(超级模拟)
- hdoj.1278 漂亮面料的设计【模拟】 2015/07/22
- 杭电1278漂亮面料的设计(模拟题)
- 1278 hdu 漂亮面料的设计
- hdu1278 漂亮面料的设计(模拟)
- hdu1278漂亮面料的设计--模拟
- 44 个漂亮的日本网站布局和设计灵感实例
- 30个漂亮的蓝色风格网页设计作品欣赏
- 本人长期设计和收集的一些网站设计页面,非常漂亮和实用。
- 60套漂亮的的免费 PSD 界面设计元素包资源(系列二)
- HDU 4514 - 湫湫系列故事——设计风景线 (并查集判圈 树的直径)
- 漂亮的 CSS3 搜索表单设计
- 20个漂亮的HTML5网站设计
- 多余的操作设计的再漂亮都是多余
- 如何设计一个漂亮的favicon
- PS设计漂亮网站主页图片的实例教程
- 25佳漂亮的结婚邀请 & 婚礼请柬网站设计
- hdu 1278
- 带给你灵感的20个漂亮的单页网站设计作品