/* 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;
}
System .
out .
println ( "romm len " + rooms.
length ) ; 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) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KICAgIHsKICAgICAgICBpbnQgcnRuID0gb3BlbmVkUm9vbU5vKDUpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicmV0dXJuIHZhbHVlIGlzIDogIiArIHJ0bik7CiAgICB9CgoKICAgIHN0YXRpYyBpbnQgb3BlbmVkUm9vbU5vKGludCByb29tcykgewogICAgICAgIGludCBydG5WYWwgPSAwOwogICAgICAgIC8vc2V0IGRlZmF1bHQgYXJyCiAgICAgICAgaW50W11bXSByb29tc0FyciA9IG5ldyBpbnRbcm9vbXNdWzJdOwogICAgICAgIGludCBjbnQgPSAwOwogICAgICAgIGZvcihpbnRbXSByb29tIDogcm9vbXNBcnIpIHsKICAgICAgICAgICAgcm9vbVswXSA9ICsrY250OwogICAgICAgICAgICByb29tWzFdID0gMTsKICAgICAgICB9CiAgICAgICAgcnRuVmFsID0gbG9vcEF0QWRkZWRDb3VudCgyLCByb29tc0Fycik7CiAgICAgICAgcmV0dXJuIHJ0blZhbDsKICAgICAgICAKIAogICAgfQogICAgCiAgICBzdGF0aWMgaW50IGxvb3BBdEFkZGVkQ291bnQgKGludCBkaXZObywgaW50W11bXSByb29tcykgewogICAgICAgIGludCBsb29wQ250ID0gMDsKICAgICAgICAKICAgICAgICBpZihkaXZObyA9PSByb29tcy5sZW5ndGgpIHsKICAgICAgICAgICAgZm9yKGludFtdIHJvb20gOiByb29tcykgewogICAgICAgICAgICAgICAgaWYocm9vbVsxXSA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJhZnRlciByb29tWzBdIGlzICIgK3Jvb21bMF0pOwogICAgICAgICAgICAgICAgICAgIGxvb3BDbnQgKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGxvb3BDbnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicm9tbSBsZW4gIiArIHJvb21zLmxlbmd0aCk7CiAgICAgICAgZm9yKGludCBbXSByb29tIDogcm9vbXMpIHsKICAgICAgICAgICAgZm9yKGludCBpID0gMSA7IGRpdk5vICogaSA8IHJvb21zLmxlbmd0aCA7IGkrKykgewogICAgICAgICAgICAgICAgaWYocm9vbVswXSAlIChkaXZObyAqIGkpICAgID09IDApIHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImRpdk5vIGlzICIgK2Rpdk5vICsgICJjaGFuZ2VkIHJvb20gbm8gIiArcm9vbVswXSk7CiAgICAgICAgICAgICAgICAgICAgaWYocm9vbVsxXSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJvb21bMV0gPSAxOwogICAgICAgICAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcm9vbVsxXSA9IDA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGRpdk5vICs9MTsKICAgICAgICByZXR1cm4gbG9vcEF0QWRkZWRDb3VudChkaXZObyAsIHJvb21zKTsKICAgIH0KfQ==