pkxzzzzz 2021-09-15 20:20 采纳率: 0%
浏览 29
已结题

ccf201604-2为啥只有90分?为什么呢?为什么呢?

img

img


#include<iostream>
#include<stack>
using namespace std;

stack<int> x;
stack<int> y;
int a[21][14];
int b[4][4];

int main()
{

    int n;
    for(int i=6;i<21;i++)
    {
        for(int j=0;j<10;j++)
        {
            cin>>a[i][j];
        }
    }
    for(int i=0;i<21;i++)
    {
        for(int j=10;j<14;j++)
        {
            a[i][j]=0;
        }
    }
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            cin>>b[i][j];
        }
    }
    cin>>n;
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            a[i+2][j+n-1]=b[i][j];
        }
    }
    for(int i=2;i<6;i++)
    {
        for(int j=0;j<10;j++)
        {
            if(a[i][j]==1)
            {
                x.push(i);
                y.push(j);
            }
        }
    }
    int y1=y.top();
    y.pop();
    int x1=x.top();
    x.pop();
    int y2=y.top();
    y.pop();
    int x2;
    if(y2!=y1)
    {
        x2=x.top();
        x.pop();
    }
    else
    {
        x2=0;
        y2=11;
    }
    int y3=y.top();
    y.pop();
    int x3;
    if((y3!=y2)&&(y3!=y1))
    {
        x3=x.top();
        x.pop();
    }
    else
    {
        x3=0;
        y3=12;
    }
    int y4=y.top();
    y.pop();
    int x4;
    if((y4!=y3)&&(y4!=y2)&&(y4!=y1))
    {
        x4=x.top();
        x.pop();
    }
    else
    {
        x4=0;
        y4=13;
    }
    int xd=0;
    for(int i=1;i<20;i++)
    {
        if((a[x1+i][y1]==0)&&(a[x2+i][y2]==0)&&(a[x3+i][y3]==0)&&(a[x4+i][y4]==0))
            xd=i;
        else
            break;
    }
    int x5=max(x1,x2);
    x5=max(x5,x3);
    x5=max(x5,x4);
    xd=min(xd,20-x5);
    for(int i=2;i<6;i++)
    {
        for(int j=0;j<10;j++)
        {
            if(a[i][j]==1)
            {
                x.push(i);
                y.push(j);
            }
        }
    }
    x1=x.top();
    x.pop();
    x2=x.top();
    x.pop();
    x3=x.top();
    x.pop();
    x4=x.top();
    x.pop();
    y1=y.top();
    y.pop();
    y2=y.top();
    y.pop();
    y3=y.top();
    y.pop();
    y4=y.top();
    y.pop();
    a[x1+xd][y1]=1;
    a[x2+xd][y2]=1;
    a[x3+xd][y3]=1;
    a[x4+xd][y4]=1;
    for(int i=6;i<21;i++)
    {
        for(int j=0;j<10;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
}
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月6日
  • 创建了问题 9月15日

悬赏问题

  • ¥15 CSS实现渐隐虚线边框
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题