该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
c++编程实现如下:
#include
#include
#include
#define number 100using namespace std;
void lock()
{
int counter=0;
int light=0;
int a[number+1]={0},flag[number+1]={0};
int i;
int sum=0;
srand(time(NULL));
while(1)
{
i=1+rand()%number;//随机选取一个房间
if(i==1)//选中的是A
{
if(light==1)//灯亮着
{
flag[i]++;
light=0;//关灯
counter++;
if(counter==number-1)//满足了要求
break;
}
}
else
{
if(a[i]==0&&light==0)//第一次出去,且灯关着
{
light=1; //开灯
a[i]++;
}
flag[i]++; }
}
cout<
for(int i=1;i<=number;i++)
cout<
for(int i=1;i<=number;i++)sum+=flag[i];//出去的总次数
cout<
}
int main()
{
lock();
system("pause");
return 0;
}