三国杀吧 关注:3,412,143贴子:88,875,516
  • 11回复贴,共1
先开一贴 楼主去吃饭 人多回来就更


IP属地:安徽1楼2020-07-28 17:47回复
    来了来了


    IP属地:安徽4楼2020-07-28 18:20
    收起回复
      首先要说明一下 每个人的图是不一定相同的 所以想要冲榜最好的计划是先攒次数 然后洗初始图 直到某一次要用的最少步数不多 这个时候就可以考虑考虑下手了


      IP属地:安徽7楼2020-07-28 18:21
      收起回复

        比如楼主的这一张 按照上面的标号就是
        3 5 1
        0 7 2
        4 6 8


        IP属地:安徽9楼2020-07-28 18:24
        收起回复
          然后打开这个网页https://c.runoob.com/compile/11
          在线工具那一栏选C在线工具
          下面两大块中 删掉左边一块中的文字
          粘贴上一段代码(楼下会贴)
          然后在“点击运行”的右边按照上面所标的序列输入(比如楼主的图就输入3 5 1 0 7 2 4 6 8 注意数字与数字之间要有空格)
          最后点击“点击运行” 右边会弹出两行 第一行是最小步数
          第二行是空白块每一次移动至何处(也就是移动的方式)


          IP属地:安徽10楼2020-07-28 18:27
          收起回复
            #include<stdio.h>
            #include<stdlib.h>
            int i,j,a[10][10],x,y,step=0,dx[4]={-1,0,1,0},dy[4]={0,-1,0,1},min=50,b[100],c[100];
            int check()
            {
            int i,j;
            for(i=1;i<=3;i++)for(j=1;j<=3;j++)if(i==3&&j==3)return 1;else if(a[i][j]!=3*i+j-3)return 0;
            }
            void dfs(int x,int y)
            {
            int ii,xx,yy;
            if(step>=min)return;
            if(check()==1){min=step;for(ii=0;ii<=step;ii++)c[ii]=b[ii];return;}
            for(ii=0;ii<4;ii++)
            {
            xx=x+dx[ii];yy=y+dy[ii];
            if(xx>=1&&xx<=3&&yy<=3&&yy>=1&&((step==0)||(3*xx+yy-3!=b[step-1])))
            {
            a[x][y]=a[xx][yy];
            a[xx][yy]=0;
            step++;b[step]=3*xx+yy-3;
            dfs(xx,yy);
            step--;
            a[xx][yy]=a[x][y];
            a[x][y]=0;
            }
            }
            }
            int main(){
            for(i=1;i<=3;i++)for(j=1;j<=3;j++)scanf("%d",&a[i][j]);
            for(i=1;i<=3;i++)for(j=1;j<=3;j++)if(a[i][j]==0){x=i;y=j;}
            b[0]=3*x+y-3;dfs(x,y);
            printf("%d\n",min);
            for(i=0;i<=min;i++)printf("%d ",c[i]);
            return 0;
            }


            IP属地:安徽11楼2020-07-28 18:28
            收起回复
              好啦更完了如果遇到什么问题欢迎在楼里留言 楼主会回答的


              IP属地:安徽12楼2020-07-28 18:29
              收起回复
                顶顶 没人么


                IP属地:安徽13楼2020-07-28 18:37
                收起回复


                  IP属地:安徽31楼2020-07-29 01:07
                  收起回复
                    感谢32L的兄弟提醒我....
                    这拼图有一些情况是复原不了的 只要他们同构于
                    123
                    456
                    870
                    这样 (原因是啥大家就别纠结啦)
                    我也没想到凉企居然会给复原不了的初始图我佛了....


                    IP属地:安徽33楼2020-07-29 09:55
                    回复
                      好像图都没换


                      IP属地:安徽来自iPhone客户端89楼2021-07-31 15:04
                      回复
                        有人说8L没了 我重新发下


                        IP属地:安徽来自iPhone客户端106楼2021-08-08 17:28
                        回复