社区讨论

test

P2040打开所有的灯参与者 16已保存回复 16

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
16 条
当前快照
1 份
快照标识符
@mk97vb0a
此快照首次捕获于
2026/01/11 12:11
上个月
此快照最后确认于
2026/01/11 12:30
上个月
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int d[10]={0,11,23,38,89,186,308,200,464,416};
struct data {int s,k;} w;//s状态,k达该状态点灯次数 
queue <data> q;

int main()
{
   int s=0,x;	
   for(int i=1;i<=9;i++){cin>>x;s=s*2+x;}//初始状态 
   w.s=s;w.k=1;
   q.push(w);//初始状态进队 
   while(!q.empty())
   {
     w=q.front();q.pop();//队首出队 
     int s1=w.s;
     int k=w.k;
     for(int i=1;i<=9;i++)//尝试9个点灯格子 
     {
	   s=s1^d[i];//点灯操作 
	   if(s==511){cout<<k;return 0;}//到达目标状态	   
	   w.s=s;
	   w.k=k+1;
	   q.push(w);//进队继续搜索 
	 }			
	}	
    return 0;
}

回复

16 条回复,欢迎继续交流。

正在加载回复...