/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int rtn = openedRoomNo( 5 ) ;
System .
out .
println ( "return value is : " + rtn
) ; }
static int openedRoomNo( int rooms) {
int rtnVal = 0 ;
//set default arr
int [ ] [ ] roomsArr = new int [ rooms] [ 2 ] ;
int cnt = 0 ;
for ( int [ ] room : roomsArr) {
room[ 0 ] = ++ cnt;
room[ 1 ] = 1 ;
}
rtnVal = loopAtAddedCount( 2 , roomsArr) ;
return rtnVal;
}
static int loopAtAddedCount ( int divNo, int [ ] [ ] rooms) {
int loopCnt = 0 ;
if ( divNo > rooms.length ) {
for ( int [ ] room : rooms) {
if ( room[ 1 ] == 1 ) {
System .
out .
println ( "after room[0] is " + room
[ 0 ] ) ; loopCnt ++;
}
}
return loopCnt;
}
for ( int [ ] room : rooms) {
for ( int i = 1 ; divNo * i <= rooms.length ; i++ ) {
if ( room[ 0 ] % ( divNo * i) == 0 ) {
System .
out .
println ( "divNo is " + divNo
+ "changed room no " + room
[ 0 ] ) ; if ( room[ 1 ] == 0 ) {
room[ 1 ] = 1 ;
} else {
room[ 1 ] = 0 ;
}
}
}
}
divNo += 1 ;
return loopAtAddedCount( divNo , rooms) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KICAgIHsKICAgICAgICBpbnQgcnRuID0gb3BlbmVkUm9vbU5vKDUpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicmV0dXJuIHZhbHVlIGlzIDogIiArIHJ0bik7CiAgICB9CgoKICAgIHN0YXRpYyBpbnQgb3BlbmVkUm9vbU5vKGludCByb29tcykgewogICAgICAgIGludCBydG5WYWwgPSAwOwogICAgICAgIC8vc2V0IGRlZmF1bHQgYXJyCiAgICAgICAgaW50W11bXSByb29tc0FyciA9IG5ldyBpbnRbcm9vbXNdWzJdOwogICAgICAgIGludCBjbnQgPSAwOwogICAgICAgIGZvcihpbnRbXSByb29tIDogcm9vbXNBcnIpIHsKICAgICAgICAgICAgcm9vbVswXSA9ICsrY250OwogICAgICAgICAgICByb29tWzFdID0gMTsKICAgICAgICB9CiAgICAgICAgcnRuVmFsID0gbG9vcEF0QWRkZWRDb3VudCgyLCByb29tc0Fycik7CiAgICAgICAgcmV0dXJuIHJ0blZhbDsKICAgICAgICAKIAogICAgfQogICAgCiAgICBzdGF0aWMgaW50IGxvb3BBdEFkZGVkQ291bnQgKGludCBkaXZObywgaW50W11bXSByb29tcykgewogICAgICAgIGludCBsb29wQ250ID0gMDsKICAgICAgICAKICAgICAgICBpZihkaXZObyA+IHJvb21zLmxlbmd0aCkgewogICAgICAgICAgICBmb3IoaW50W10gcm9vbSA6IHJvb21zKSB7CiAgICAgICAgICAgICAgICBpZihyb29tWzFdID09IDEpIHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImFmdGVyIHJvb21bMF0gaXMgIiArcm9vbVswXSk7CiAgICAgICAgICAgICAgICAgICAgbG9vcENudCArKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbG9vcENudDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yKGludCBbXSByb29tIDogcm9vbXMpIHsKICAgICAgICAgICAgZm9yKGludCBpID0gMSA7IGRpdk5vICogaSA8PSByb29tcy5sZW5ndGggOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmKHJvb21bMF0gJSAoZGl2Tm8gKiBpKSAgICA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJkaXZObyBpcyAiICtkaXZObyArICAiY2hhbmdlZCByb29tIG5vICIgK3Jvb21bMF0pOwogICAgICAgICAgICAgICAgICAgIGlmKHJvb21bMV0gPT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICByb29tWzFdID0gMTsKICAgICAgICAgICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJvb21bMV0gPSAwOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkaXZObyArPTE7CiAgICAgICAgcmV0dXJuIGxvb3BBdEFkZGVkQ291bnQoZGl2Tm8gLCByb29tcyk7CiAgICB9Cn0=