请问这个代码错在了哪里,我改的头都昏了
查看原帖
请问这个代码错在了哪里,我改的头都昏了
469087
Tipsy_bamboo楼主2021/6/16 17:31
#include<bits/stdc++.h>
using namespace std;
typedef long long lg;
lg shu[500][500], ling[500][500];
void chu(lg zong)
{
    lg ji = 0;
    for(lg i = 1; i <= zong; i++)
    {
        for(lg j = 1; j <= zong; j++)
        {
            ji += 1;
            shu[i][j] = ji;
        }
    }
}
void shur(lg &zong, lg &ci) 
{
    cin >> zong >> ci;
}
void du(lg &hang, lg &lie, lg &gui, lg &fang)
{
    cin >> hang >> lie >> gui >> fang;
}
void chul(lg hang, lg lie, lg gui)
{
    for(lg i = hang - gui; i <= hang + gui; i++)
    {
        for(lg j = lie - gui; j <= lie + gui; j++)
        {
            ling[i][j] = shu[i + hang - gui][j + lie - gui];
        }
    }
    for(lg i = 1; i <= 2 * gui + 1; i++)
    {
        for(lg j = 1; j <= 2 * gui + 1; j++)
        {
            ling[i][j] = shu[j + lie - gui][lie + gui - i + hang - gui + 1];
        }
    }
    for(lg i = 1; i <= 2 * gui + 1; i++)
    {
        for(lg j = 1; j <= 2 * gui + 1; j++)
        {
            shu[i + hang - gui][j + lie - gui] = ling[i][j];
        }
    }
}
void chuli(lg hang, lg lie, lg gui)
{
    for(lg i = hang - gui; i <= hang + gui; i++)
    {
        for(lg j = lie - gui; j <= lie + gui; j++)
        {
            ling[i][j] = shu[i + hang - gui][j + lie - gui];
        }
    }
    for(lg i = 1; i <= 2 * gui + 1; i++)
    {
        for(lg j = 1; j <= 2 * gui + 1; j++)
        {
            ling[i][j] = shu[hang + gui - j + lie - gui][i + hang - gui];
        }
    }
    for(lg i = 1; i <= 2 * gui + 1; i++)
    {
        for(lg j = 1; j <= 2 * gui + 1; j++)
        {
            shu[i + hang - gui][j + lie - gui] = ling[i][j];
        }
    }
}
int main()
{
    lg zong, ci, hang;
    lg lie, gui, fang;
    shur(zong, ci);
    chu(zong);
    for(lg i = 1; i <= ci; i++)
    {
        du(hang, lie, gui, fang);
        if(fang = 0) chul(hang, lie, gui);
        else chuli(hang, lie, gui);
    }
    for(lg i = 1; i <= zong; i++)
    {
        for(lg j = 1; j <= zong; j++)
        {
            cout << shu[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}
2021/6/16 17:31
加载中...