QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#334336#4325. KraljiceivanjCompile Error//C++144.6kb2024-02-21 19:18:532024-02-21 19:18:54

Judging History

你现在查看的是最新测评结果

  • [2024-02-21 19:18:54]
  • 评测
  • [2024-02-21 19:18:53]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

const int MAXN=1030;

int n;
int row[MAXN]={0}, column[MAXN]={0}, ldiagonal[2*MAXN]={0}, rdiagonal[2*MAXN]={0};
int order[MAXN][MAXN];
int k=1;

void add(int x, int y)
{
    order[x][y]=k;
    k=k+1;
    row[x]=row[x]+1;
    column[y]=column[y]+1;
    ldiagonal[x+y]=ldiagonal[x+y]+1;
    rdiagonal[x-y+n]=rdiagonal[x-y+n]+1;

    return;
}

void build3(int x, int y)
{
    if (y==1)
    {
        add(1, 2);
        add(2, 0);
        add(1, 1);
        add(0, 0);
        add(2, 2);
        add(2, 1);
        add(0, 1);
        add(0, 2);
        add(1, 0);

        return;
    }
    if (x==0)
        build3(x, y-2);
    if (y-x==1)
    {
        y=y-1;
        add(x+1, y+2);
        add(x+0, y+1);
        add(x+2, y+1);
        add(x+1, y+1);
        add(x+0, y+2);
        add(x+2, y+0);
        add(x+1, y+0);
        add(x+2, y+2);

        return;
    }
    if ((row[x]+column[y]+ldiagonal[x+y]+rdiagonal[x-y+n])%2==0)
    {
        add(x, y);
        add(x, y+1);
        if ((row[y]+column[x]+ldiagonal[y+x]+rdiagonal[y-x+n])%2==0)
        {
            add(y, x);
            add(y+1, x);
        }
        else
        {
            add(y+1, x);
            add(y, x);
        }
    }
    else
    {
        add(x, y+1);
        add(x, y);
        if ((row[y]+column[x]+ldiagonal[y+x]+rdiagonal[y-x+n])%2==0)
        {
            add(y, x);
            add(y+1, x);
        }
        else
        {
            add(y+1, x);
            add(y, x);
        }
    }
    build3(x+1, y);

    return;
}

void build4(int x, int y)
{
    if (y==2)
    {
        add(0, 1);
        add(1, 3);
        add(0, 2);
        add(1, 0);
        add(1, 1);
        add(2, 3);
        add(0, 3);
        add(2, 0);
        add(2, 1);
        add(2, 2);
        add(3, 0);
        add(3, 2);
        add(3, 1);
        add(3, 3);

        return;
    }
    if (x==0)
        build4(x, y-2);
    if (y-x==1)
    {
        y=y-1;
        add(x+0, y+2);
        add(x+0, y+1);
        add(x+1, y+2);
        add(x+1, y+0);
        add(x+2, y+0);
        add(x+1, y+1);
        add(x+2, y+1);
        add(x+2, y+2);

        return;
    }
    //cout << "x y " << x+1 << ' ' << y+1 << '\n';
    //cout << row[x]+column[y]+ldiagonal[x+y]+rdiagonal[x-y+n] << '\n';
    //cout << row[x]+column[y+1]+ldiagonal[x+y+1]+rdiagonal[x-y-1+n] << '\n';
    if ((row[x]+column[y]+ldiagonal[x+y]+rdiagonal[x-y+n])%2==0)
    {
        add(x, y);
        add(x, y+1);
        //cout << "x y " << y+1 << ' ' << x+1 << '\n';
        //cout << row[y]+column[x]+ldiagonal[x+y]+rdiagonal[y-x+n] << '\n';
        //cout << row[y]+column[x+1]+ldiagonal[x+y+1]+rdiagonal[y-x-1+n] << '\n';
        if ((row[y+1]+column[x]+ldiagonal[y+1+x]+rdiagonal[y+1-x+n])%2==0)
        {
            add(y+1, x);
            add(y, x);
        }
        else
        {
            add(y, x);
            add(y+1, x);
        }
    }
    else
    {
        add(x, y+1);
        add(x, y);
        //cout << "x y " << y+1 << ' ' << x+1 << '\n';
        //cout << row[y]+column[x]+ldiagonal[x+y]+rdiagonal[y-x+n] << '\n';
        //cout << row[y]+column[x+1]+ldiagonal[x+y+1]+rdiagonal[y-x-1+n] << '\n';
        if ((row[y+1]+column[x]+ldiagonal[y+1+x]+rdiagonal[y+1-x+n])%2==0)
        {
            add(y+1, x);
            add(y, x);
        }
        else
        {
            add(y, x);
            add(y+1, x);
        }
    }
    build4(x+1, y);

    return;
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    cin >> n;
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
            order[i][j]=0;
    if (n<=2)
    {
        cout << 1 << '\n';
        cout << 1 << ' ' << 1 << '\n';
    }
    else if (n%2==1)
    {
        build3(0, n-2);
        pair<int, int> answer[n*n];
        for (int i=0; i<n; i++)
            for (int j=0; j<n; j++)
                answer[order[i][j]-1]={i+1, j+1};
        cout << n*n << '\n';
        for (int i=0; i<n*n; i++)
            cout << answer[i].first << ' ' << answer[i].second << '\n';
    }
    else
    {
        build4(0, n-2);
        pair<int, int> answer[n*n-2];
        for (int i=0; i<n; i++)
            for (int j=0; j<n; j++)
                if (order[i][j]!=0) {
                    answer[order[i][j]-1]={i+1, j+1};
							ce
						}
        cout << n*n-2 << '\n';
        for (int i=0; i<n*n-2; i++)
            cout << answer[i].first << ' ' << answer[i].second << '\n';
    }

    return 0;
}

详细

answer.code: In function ‘int main()’:
answer.code:204:57: error: ‘ce’ was not declared in this scope
  204 |                                                         ce
      |                                                         ^~