您的位置:首页 > 产品设计 > UI/UE

UESTC 1080 空心矩阵

2013-12-13 19:58 246 查看
这题理解题意最重要,千万不要理解错。题意是取矩阵的左上角,所以能切掉的都要切掉,是能形成三角形的形成三角形,不能的尽量割掉最大。代码借鉴了一位大牛的,如下:

#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;

int a[11][11];

int main()
{
int t,i,n,m,j;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m&&i<n;i++)
{
for(j=0;j<n-i;j++)
{
cout<<a[i][j];
}
if(i!=0)
{
for(j=0;j<2*i-1;j++)
{
cout<<" ";
}
cout<<a[i][n-i-1];
}
for(j=n-i-1;j>0;j--)
{
cout<<a[i][j-1];
}
cout<<endl;
}
for(i=i-2;i>=0;i--)
{
for(j=0;j<n-i;j++)
{
cout<<a[i][j];
}
if(i!=0)
{
for(j=0;j<2*i-1;j++)
{
cout<<" ";
}
cout<<a[i][n-i-1];
}
for(j=n-i-1;j>0;j--)
{
cout<<a[i][j-1];
}
cout<<endl;
}
cout<<endl;

}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: