你push的时候a5,a6中间加了个u
by OneSheeep @ 2023-08-12 11:24:16
@[cokt335](/user/873417)
```log
test.cpp:20:52: error: no viable conversion from 'node' to 'int'
q.push((node){u.a2,u.a1,u.a3,u.a4,u.a5,u,u.a6,u.a7,u.a8,u.a9,u.dis+1});
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
```
by Argvchs @ 2023-08-12 11:25:18
改完应该是这样的
还有,你MLE了
```cpp
#include<bits/stdc++.h>
using namespace std;
int ma[5][5];
struct node
{
int a1,a2,a3,a4,a5,a6,a7,a8,a9,dis;
};
queue<node> q;
int bfs()
{
while(!q.empty())
{
node u=q.front();
q.pop();
if(u.a1==1&&u.a2==2&&u.a3==3&&u.a4==8&&u.a5==0&&u.a6==4&&u.a7==7&&u.a8==6&&u.a9==5)
{
return u.dis;
}
if(u.a1==0){
q.push((node){u.a2,u.a1,u.a3,u.a4,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a4,u.a2,u.a3,u.a1,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
}
if(u.a2==0){
q.push((node){u.a1,u.a3,u.a2,u.a4,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a2,u.a1,u.a3,u.a4,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a5,u.a3,u.a4,u.a2,u.a6,u.a7,u.a8,u.a9,u.dis+1});
}
if(u.a3==0){
q.push((node){u.a1,u.a2,u.a6,u.a4,u.a5,u.a3,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a3,u.a2,u.a4,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
}
if(u.a4==0){
q.push((node){u.a4,u.a2,u.a3,u.a1,u.a5,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a5,u.a4,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a7,u.a5,u.a6,u.a4,u.a8,u.a9,u.dis+1});
}
if(u.a5==0){
q.push((node){u.a1,u.a5,u.a3,u.a4,u.a2,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a5,u.a4,u.a6,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a6,u.a5,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a8,u.a6,u.a7,u.a5,u.a9,u.dis+1});
}
if(u.a6==0){
q.push((node){u.a1,u.a2,u.a6,u.a4,u.a5,u.a3,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a6,u.a5,u.a7,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a9,u.a7,u.a8,u.a6,u.dis+1});
}
if(u.a7==0){
q.push((node){u.a1,u.a2,u.a3,u.a7,u.a5,u.a6,u.a4,u.a8,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a6,u.a8,u.a7,u.a9,u.dis+1});
}
if(u.a8==0){
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a8,u.a6,u.a7,u.a5,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a6,u.a8,u.a7,u.a9,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a6,u.a7,u.a9,u.a8,u.dis+1});
}
if(u.a9==0){
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a9,u.a7,u.a8,u.a6,u.dis+1});
q.push((node){u.a1,u.a2,u.a3,u.a4,u.a5,u.a6,u.a7,u.a9,u.a8,u.dis+1});
}
}
}
int main()
{
for(int i = 1;i<=3;i++)
for(int j=1;j<=3;j++)
{
char tmp;
cin>>tmp;
ma[i][j]=tmp-'0';
cout<<ma[i][j];
}
q.push((node){ma[1][1],ma[1][2],ma[1][3],ma[2][1],ma[2][2],ma[2][3],ma[3][1],ma[3][2],ma[3][3],0});
int ans=bfs();
printf("%d",ans);
return 0;
}
```
by OneSheeep @ 2023-08-12 11:26:51
@[OneSheeep](/user/501059) @[Argvchs](/user/533270) 感谢,我开了很多遍都没看到
by Istruggle @ 2023-08-12 14:39:51