boolean[ ] vis;
int [ ] ans;
int pointer;
void addEdge( int a, int b) {
ans[ pointer++ ] = a;
ans[ pointer++ ] = b;
}
public int [ ] findAnyGraph( int n, int m, int k) {
int need = 1 ;
for ( int i = 0 ; i < k; ++ i) {
need * = 2 ;
if ( need > n) {
int [ ] nothing = new int [ 1 ] ;
nothing[ 0 ] = - 1 ;
return nothing;
}
}
ans = new int [ 2 * m] ;
pointer = 0 ;
int power_of_two = 1 ;
for ( int rep = 0 ; rep < k; ++ rep) {
for ( int i = power_of_two; i <= need- 1 ; i + = 2 * power_of_two)
addEdge( i, i+ 1 ) ;
power_of_two * = 2 ;
}
for ( int i = 1 ; i <= n; ++ i)
for ( int j = n; j >= i+ 1 ; -- j)
if ( j > need || j > i+ 1 )
if ( pointer < 2 * m)
addEdge( i, j) ;
return ans;
}
ICAgIGJvb2xlYW5bXSB2aXM7CiAgICBpbnRbXSBhbnM7CiAgICBpbnQgcG9pbnRlcjsKICAgIHZvaWQgYWRkRWRnZShpbnQgYSwgaW50IGIpIHsKICAgICAgICBhbnNbcG9pbnRlcisrXSA9IGE7CiAgICAgICAgYW5zW3BvaW50ZXIrK10gPSBiOwogICAgfQogICAgcHVibGljIGludFtdIGZpbmRBbnlHcmFwaChpbnQgbiwgaW50IG0sIGludCBrKSB7CiAgICAgICAgaW50IG5lZWQgPSAxOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyArK2kpIHsKICAgICAgICAgICAgbmVlZCAqPSAyOwogICAgICAgICAgICBpZihuZWVkID4gbikgewogICAgICAgICAgICAgICAgaW50W10gbm90aGluZyA9IG5ldyBpbnRbMV07CiAgICAgICAgICAgICAgICBub3RoaW5nWzBdID0gLTE7CiAgICAgICAgICAgICAgICByZXR1cm4gbm90aGluZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBhbnMgPSBuZXcgaW50WzIqbV07CiAgICAgICAgcG9pbnRlciA9IDA7CiAgICAgICAgaW50IHBvd2VyX29mX3R3byA9IDE7CiAgICAgICAgZm9yKGludCByZXAgPSAwOyByZXAgPCBrOyArK3JlcCkgewogICAgICAgICAgICBmb3IoaW50IGkgPSBwb3dlcl9vZl90d287IGkgPD0gbmVlZC0xOyBpICs9IDIqcG93ZXJfb2ZfdHdvKQogICAgICAgICAgICAgICAgYWRkRWRnZShpLCBpKzEpOwogICAgICAgICAgICBwb3dlcl9vZl90d28gKj0gMjsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpCiAgICAgICAgICAgIGZvcihpbnQgaiA9IG47IGogPj0gaSsxOyAtLWopCiAgICAgICAgICAgICAgICBpZihqID4gbmVlZCB8fCBqID4gaSsxKQogICAgICAgICAgICAgICAgaWYocG9pbnRlciA8IDIgKiBtKQogICAgICAgICAgICAgICAgICAgIGFkZEVkZ2UoaSwgaik7CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0K
compilation info
prog.cpp:1:5: error: 'boolean' does not name a type
boolean[] vis;
^
prog.cpp:2:8: error: expected unqualified-id before '[' token
int[] ans;
^
prog.cpp: In function 'void addEdge(int, int)':
prog.cpp:5:9: error: 'ans' was not declared in this scope
ans[pointer++] = a;
^
prog.cpp: At global scope:
prog.cpp:8:5: error: expected unqualified-id before 'public'
public int[] findAnyGraph(int n, int m, int k) {
^
stdout