Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int itNoLight;
- int F = 0;
- string ccmd;
- int ccdrs, cpr;
- void dfsAns();
- void dfsOff()
- {
- string cmd;
- int cdrs, pr;
- cin >> cmd >> cdrs >> pr;
- ccmd = cmd;
- ccdrs = cdrs;
- cpr = pr;
- if (cmd[1] == 'f')
- ++itNoLight;
- if (cmd[1] == 'n')
- itNoLight = 0, cout << "turn off" << endl;
- if (itNoLight > 500)
- {
- ccmd = "off";
- cpr = 0;
- dfsAns();
- cout << "done" << endl;
- exit(0);
- }
- int nxtwy = rand() % cdrs + 1;
- cout << "go " << nxtwy << " keep" << endl;
- dfsOff();
- if (pr)
- cout << "go " << pr << " keep" << endl, cin >> ccmd >> ccdrs >> cpr;
- }
- void dfsAns()
- {
- string cmd;
- int cdrs, pr;
- cmd = ccmd;
- cdrs = ccdrs;
- pr = cpr;
- if (cmd[1] == 'f')
- cout << "turn on" << endl;
- if (cmd[1] == 'n')
- return;
- for1(i, cdrs)
- {
- if (i != pr)
- {
- cout << "go " << i << " keep" << endl;
- cin >> ccmd;
- if (ccmd[1] != 'o')
- cin >> ccdrs >> cpr, dfsAns();
- }
- }
- if (pr)
- cout << "go " << pr << " lock" << endl, cin >> ccmd >> ccdrs >> cpr;
- }
- int solve()
- {
- dfsOff();
- ccmd = "off";
- cpr = 0;
- dfsAns();
- cout << "done" << endl;
- //system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement