AOJ 1035 Sleeping Cats
問題
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1035。
日本語。
解法
以前、WA出したのは何故かな。 Wの大きさの配列用意して、それぞれどの猫が寝ているか見ていけばいい。
首輪でもつけるのかな
コード
int a[128], i, j, k; int main(){ int W, Q; while(scanf("%d%d", &W, &Q) && W+Q){ memset(a, -1, sizeof(a)); char c[2]; int id, w; rep(i, Q){ scanf("%s", c); if(c[0] == 's'){ scanf("%d%d", &id, &w); rep(j, W-w+1){ REP(k, j, j+w) if(a[k] != -1) break; if(k == j+w) break; } if(j == W-w+1){ puts("impossible"); }else{ printf("%d\n", j); REP(k, j, j+w) a[k] = id; } }else{ scanf("%d", &id); rep(j, W) if(a[j] == id) a[j] = -1; } } puts("END"); } return 0; }