问题在漆黑的夜里四位旅行者来到了一座狭窄而且没有护栏的桥边如果不借助手电筒的话大家是无论如何也不敢过桥去的不幸的是四个人一共只带了一只手电筒而桥窄得只够让两个人同时过如果各自单独过桥的话四人所需要的时间分别是分钟而如果两人同时过桥所需要的时间就是走得比较慢的那个人单独行动时所需的时间问题是如何设计一个方案让这四人尽快过桥 JAVA实现功能如下 (jdkjbuild测试通过) public class mks { public mks() { int[] i={}; boolean[] j={truetruetruetrue}; int go=; int time=; for(;true;) { if(j[]||j[]||j[]||j[]) { if(go==) { go=; if(j[]==true&&j[]==true) { Systemoutprint(i[]+过桥\r\n); Systemoutprint(i[]+过桥\r\n); time+=i[]; Systemoutprint(time=+time+\r\n); j[]=false; j[]=false; } else { Systemoutprint(i[]+过桥\r\n); Systemoutprint(i[]+过桥\r\n); time+=i[]; Systemoutprint(time=+time+\r\n); j[]=false; j[]=false; } } else { go=; if(j[]==false) { j[]=true; Systemoutprint(i[]+回来\r\n); time+=i[]; Systemoutprint(time=+time+\r\n); } else { j[]=true; Systemoutprint(i[]+回来\r\n); time+=i[]; Systemoutprint(time=+time+\r\n); } } } else { break; } } } } |