Wa:样例输出1 9 3

P1228 地毯填补问题

EgLund @ 2020-08-04 23:41:52

code:

#include <cstdio>
#include <iostream>
using namespace std;
int n0;int px,py;
void s(int n,int zx,int zy,int rx,int ry)
{
    if(n==1)return;
    n>>=1;
    if(zx-rx<n)
        if(zy-ry<n)
        {
            cout<<rx+n<<' '<<ry+n<<" 1\n";
            s(n,zx,zy,rx,ry);
            s(n,rx+n-1,ry+n,rx,ry+n);
            s(n,rx+n,ry+n-1,rx+n,ry);
            s(n,rx+n,ry+n,rx+n,ry+n);
        }
        else
        {
            cout<<rx+n<<' '<<ry+n-1<<" 2\n";
            s(n,rx+n-1,ry+n-1,rx,ry);
            s(n,zx,zy,rx,ry+n);
            s(n,rx+n,ry+n-1,rx+n,ry);
            s(n,rx+n,ry+n,rx+n,ry+n);
        }
    else
        if(zy-ry<n)
        {
            cout<<rx+n-1<<' '<<ry+n<<" 3\n";
            s(n,rx+n-1,ry+n-1,rx,ry);
            s(n,rx+n-1,ry+n,rx,ry+n);
            s(n,zx,zy,rx+n,ry);
            s(n,rx+n,ry+n,rx+n,ry+n);
        }
        else
        {
            cout<<rx+n-1<<' '<<ry+n-1<<" 4\n";
            s(n,rx+n-1,ry+n-1,rx,ry);
            s(n,rx+n-1,ry+n,rx,ry+n);   
            s(n,rx+n,ry+n-1,rx+n,ry);
            s(n,zx,zy,rx+n,ry+n);
        }
}
int main()
{
    cin>>n0>>px>>py;
    s(px,py ,1,1,1<<n0);
}

by EgLund @ 2020-08-06 20:48:01

才发现我参数传反了。。。 请大家不要学。。。


|