JOI 2010 春合宿 day1-1 「JOI Poster」

ウォーミングアップ。
ただ、出力データのでかさがぱない。

#include<cstdio>
#define rep(i,n) for(int i = 0; i < n; i++)
using namespace std;

int main(){
	int n, k;
	
	scanf("%d%d",&n,&k);
	
	if (n == 0){printf("J\n"); return 0;};
	
	for(int i = 1 << (n-1); i > 0; i >>= 1){
		if (k > i) {
			rep(j,i) printf("I");
			k -= i;
		} else {
			rep(j,i) printf("J");
			rep(j,i) printf("O");
			puts("");
			return 0;
		}
	}
	
	printf("J\n");
	return 0;
}