24h購物| | PChome| 登入
2012-12-26 21:39:01| 人氣597| 回應0 | 上一篇 | 下一篇

[UVA] 12583 - Memory Overflow

推薦 0 收藏 0 轉貼0 訂閱站台

題目意思:
這個人只能記住前 k 天的人,而他每天只會遇到一個人,
如果不認識的話,他會把他記住,但是在 k 天後遺忘,
如果再次遇到的話,就在延長時間。
問 他有幾天可以認識到他認識的人。

// 英文原題就不方便複製了

#include <stdio.h>

int main() {
    int t, cases = 0, n, k;
    char d[505];
    scanf("%d", &t);
    while(t--) {
        scanf("%d %d", &n, &k);
        scanf("%s", d);
        int r[26] = {}, cnt = 0, i;
        for(i = 0; i < 26; i++)
            r[i] = -0xfff;
        for(i = 0; i < n; i++) {
            if(i-r[d[i]-'A'] <= k)
                cnt++;
            r[d[i]-'A'] = i;
        }
        printf("Case %d: %d\n", ++cases, cnt);
    }
    return 0;
}

台長: Morris
人氣(597) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: UVA |
此分類下一篇:[UVA][stack] 12582 - Wedding of Sultan
此分類上一篇:[UVA][bfs] 11624 - Fire!

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文