QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#306222#3102. Navigation 2NATURAL6Compile Error//C++202.7kb2024-01-16 15:39:422024-01-16 15:39:43

Judging History

This is the latest submission verdict.

  • [2024-01-16 15:39:43]
  • Judged
  • [2024-01-16 15:39:42]
  • Submitted

Anna

#include<bits/stdc++.h>
#include "Anna.h"
using namespace std;
const int dx[7]={0,0,0,1,1,1,2},dy[7]={0,1,2,0,1,2,0};
int id[3][3]={{1,2,3},{4,0,5},{6,7,8}};
int r[10],c[10];
inline int get_pos(int x,int y,int op)
{
    if(abs(x-r[op])>=2||abs(y-c[op])>=2)
    {
        if(x+1<r[op])return 8;//D
        if(x-1>r[op])return 9;//U
        if(y+1<c[op])return 10;//R
        if(y-1>c[op])return 11;//L
    }
    return id[r[op]-x+1][c[op]-y+1];
}
void Anna(int N,int K,vector<int>R,vector<int>C)
{
    int op[3][3],X,Y,sX[10],sY[10],vis[10],tp;
    memset(op,1,sizeof(op));memset(vis,0,sizeof(vis));
    for(int i=0;i<7;++i)op[(R[i]+2-dx[i])%3][(C[i]+2-dy[i])%3]=0;
    for(int i=0;i<=2;++i)for(int j=0;j<=2;++j)if(op[i][j]){X=i,Y=j;break;}
    for(int i=X;i<N;i+=3)for(int j=Y;j<N;j+=3)SetFlag(i,j,12);
    for(int i=0;i<7;++i)
    {
        sX[i]=X-2+dx[i];
        sY[i]=Y-2+dy[i];
        if(sX[i]<0)sX[i]+=3;
        if(sY[i]<0)sY[i]+=3;
        r[i]=R[i],c[i]=C[i];
    }
    for(int op=0;op<7;++op)for(int i=sX[op];i<N;i+=3)for(int j=sY[op];j<N;j+=3)if(abs(i-R[op])<=1&&abs(j-C[op])<=1)vis[get_pos(i,j,op)]=1;
    for(int i=1;i<=8;++i)if(!vis[i]){tp=i;break;}
    for(int i=0;i<=2;++i)for(int j=0;j<=2;++j)id[i][j]-=(id[i][j]>=tp);
    for(int i=X;i<N;i+=3)for(int j=Y-1;j<N;j+=3)if(j>=0)SetFlag(i,j,tp);
    for(int op=0;op<7;++op)for(int i=sX[op];i<N;i+=3)for(int j=sY[op];j<N;j+=3)SetFlag(i,j,get_pos(i,j,op));
	return ;
}

Bruno

#include<bits/stdc++.h>
#include "Bruno.h"
using namespace std;
inline int get_dir(int x,int y)
{
    if(x<1)return 3;
    if(x>1)return 2;
    if(y<1)return 1;
    if(y>1)return 0;
    return 4;
}
vector<int> Bruno(int K,vector<int>value)
{
	vector<int>ans;ans.resize(7);
    int X,Y,mp[3][3],tp;
    for(int i=0;i<=2;++i)for(int j=0;j<=2;++j)
    {
        mp[i][j]=value[i*3+j];
        if(mp[i][j]==12)X=i,Y=j;
    }
    tp=mp[X][Y==0?2:Y-1];
    for(int i=0;i<=2;++i)for(int j=0;j<=2;++j)mp[i][j]+=(mp[i][j]>=tp);
    for(int i=0,x,y;i<7;++i)
    {
        x=X-2+dx[i],y=Y-2+dy[i];
        if(x<0)x+=3;if(y<0)y+=3;
        if(mp[x][y]==9)ans[i]=2;
        else if(mp[x][y]==10)ans[i]=3;
        else if(mp[x][y]==11)ans[i]=0;
        else if(mp[x][y]==12)ans[i]=1;
        else if(mp[x][y]==1)ans[i]=get_dir(x-1,y-1);
        else if(mp[x][y]==2)ans[i]=get_dir(x-1,y);
        else if(mp[x][y]==3)ans[i]=get_dir(x-1,y+1);
        else if(mp[x][y]==4)ans[i]=get_dir(x,y-1);
        else if(mp[x][y]==5)ans[i]=get_dir(x,y+1);
        else if(mp[x][y]==6)ans[i]=get_dir(x+1,y-1);
        else if(mp[x][y]==7)ans[i]=get_dir(x+1,y);
        else if(mp[x][y]==8)ans[i]=get_dir(x+1,y+1);
    }
	return ans;
}

详细

Bruno.code: In function ‘std::vector<int> Bruno(int, std::vector<int>)’:
Bruno.code:25:15: error: ‘dx’ was not declared in this scope; did you mean ‘x’?
   25 |         x=X-2+dx[i],y=Y-2+dy[i];
      |               ^~
      |               x
Bruno.code:25:27: error: ‘dy’ was not declared in this scope; did you mean ‘y’?
   25 |         x=X-2+dx[i],y=Y-2+dy[i];
      |                           ^~
      |                           y
grader_Bruno.cpp: In function ‘int main(int, char**)’:
grader_Bruno.cpp:32:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   32 |   scanf("%d", &Q);
      |   ~~~~~^~~~~~~~~~
grader_Bruno.cpp:37:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   37 |     scanf("%d", &K);
      |     ~~~~~^~~~~~~~~~
grader_Bruno.cpp:40:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   40 |   scanf("%d", &x);
      |   ~~~~~^~~~~~~~~~