目前分類:ACM解題 (12)

瀏覽方式: 標題列表 簡短摘要

中文題目:
http://luckycat.kshs.kh.edu.tw/homework/q11479.htm

#include <stdio.h>

int main()
{
    int i, n;
    long long int x, y, z;

    fscanf(stdin, "%d", &n);
    for (i=0; i<n; i++)
    {
        fscanf(stdin, "%lld %lld %lld", &x, &y, &z);
        if (x >= y+z)
        {
            printf("Case %d: Invalid\n", i+1);
            continue;
        }
        
        if (y >= x+z)
        {
            printf("Case %d: Invalid\n", i+1);
            continue;
        }

        if (z >= x+y)
        {
            printf("Case %d: Invalid\n", i+1);
            continue;
        }
        
        if (x == y && y == z)
        {
            printf("Case %d: Equilateral\n", i+1);
            continue;
        }
        
        if (x == y || y == z || x == z)
        {
            printf("Case %d: Isosceles\n", i+1);
            continue;
        }
            
        printf("Case %d: Scalene\n", i+1);
    }

    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()

中文題目:
http://luckycat.kshs.kh.edu.tw/homework/q11494.htm

#include <stdio.h>
#include <math.h>

int main ()
{
    int x1, y1, x2, y2, d1, d2;
    while (fscanf(stdin, "%d %d %d %d", &x1, &y1, &x2, &y2))
    {
        if (x1 == 0 && y1 == 0 && x2 == 0 && y2 == 0) break;

        d1 = abs(x1-x2);
        d2 = abs(y1-y2);
    
        if (d1 == 0 && d2 == 0)
            printf("0\n");
        else if (d1 == d2 || d1 == 0 || d2 == 0)
            printf("1\n");
        else
            printf("2\n");          
    }
    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()

中文題目:
http://luckycat.kshs.kh.edu.tw/homework/q11498.htm

#include <stdio.h>

int main()
{
    int k, n, m, x, y, i;

    while (fscanf(stdin, "%d", &k), k>0)
    {
        fscanf(stdin, "%d %d", &n, &m);
        for (i=0; i<k; i++)
        {
            fscanf(stdin, "%d %d", &x, &y);
            if (n == x || m == y)
                printf("divisa\n");
            else if (x<n && y>m)
                printf("NO\n");
            else if (x>n && y>m)
                printf("NE\n");
            else if (x<n && y<m)
                printf("SO\n");
            else if (x>n && y<m)
                printf("SE\n");
        }
    }

    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()

中文題目:
http://luckycat.kshs.kh.edu.tw/homework/q11577.htm

#include <stdio.h>
#include <ctype.h>
#include <string.h>

int main()
{
    int n, i, j, max, word[26];
    char c;

    fscanf(stdin, "%d\n", &n);
    for (i=0; i<n; i++)
    {
        max = 0;
        for (j=0; j<26; j++) word[j] = 0;

        while (fscanf(stdin, "%c", &c), c!='\n')        
        {
            c = tolower(c);
            if (c >= 'a' && c <= 'z')
            {
                word[c-'a']++;
            }
        }

        for (j=0; j<26; j++)
        {
            if (word[j] > max) max = word[j];
        }
        
        for (j=0; j<26; j++)
        {
            if (word[j] == max) printf("%c", j+'a');
        }
        printf("\n");
    }

    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()

中文題目:
http://luckycat.kshs.kh.edu.tw/homework/q11936.htm

#include <stdio.h>

int main()
{
    int i, n, x, y, z;

    fscanf(stdin, "%d", &n);
    for (i=0; i<n; i++)
    {
        fscanf(stdin, "%d %d %d", &x, &y, &z);
        if (x >= y+z)
        {
            printf("Wrong!!\n");
            continue;
        }
        
        if (y >= x+z)
        {
            printf("Wrong!!\n");
            continue;
        }

        if (z >= x+y)
        {
            printf("Wrong!!\n");
            continue;
        }
            
        printf("OK\n");
    }

    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()

題目:
http://luckycat.kshs.kh.edu.tw/homework/q11332.htm

注意事項:
1. 請使用 long long int

wbkuo 發表在 痞客邦 留言(0) 人氣()

題目:
http://luckycat.kshs.kh.edu.tw/homework/q10550.htm

注意事項:
1. 密碼鎖的旋轉時,刻度會會跟著一起轉動的

wbkuo 發表在 痞客邦 留言(0) 人氣()

題目
http://luckycat.kshs.kh.edu.tw/homework/q12405.htm

注意事項:
1. 稻草人能插在任何地方(良田和不毛之地)

wbkuo 發表在 痞客邦 留言(0) 人氣()

1. 使用C語言時,禁止使用單行註解 //
    因為 ACM 使用以下的指令編釋程式:cc -lm -lcrypt -O2 -pipe -ansi -DONLINE_JUDGE
    可以使用 alias cc='cc -lm -lcrypt -O2 -pipe -ansi -DONLINE_JUDGE' 加入別名,方便測試

2. 若無特別說明,則每一個結果後面都應該有一個換行(\n)

wbkuo 發表在 痞客邦 留言(0) 人氣()

題目
http://luckycat.kshs.kh.edu.tw/homework/q10340.htm

解題注意事項
1. ACM 禁止使用單行註解 // (會得到 Compilation error)

wbkuo 發表在 痞客邦 留言(0) 人氣()

#include <stdio.h>
#include <string.h>

int main()
{
        int i, j, k, case_n, n, len;
        char str[401], c;

        fscanf(stdin, "%d", &case_n);
        for (i=0; i<case_n; i++)
        {
                fscanf(stdin, "%s", &str);
                len = strlen(str);
                
                j =0;
                printf("Case %d: ", i+1);
                while (1)
                {
                        if (j >= len) break;

                        c = str[j++];
                        n = 0;
                        while (1)
                        {
                                n = (n * 10) + str[j++] - 48;
                                if (str[j] < 48 || str[j] >57) break;
                        }
                        for (k=0; k<n; k++)
                        {
                                printf("%c", c);
                        }
                }
                
                printf("n");
        }

        return 0;
}

wbkuo 發表在 痞客邦 留言(0) 人氣()

題目:
http://luckycat.kshs.kh.edu.tw/homework/q12289.htm

#include <stdio.h>
#include <string.h>

char number[3][6] = {"one", "two", "three"};

void change_word(char *str)
{
    int len, len2, i, j, k, err_cnt;

    len =  strlen(str);
    for (j=0; j<3; j++)
    {
        len2 = strlen(number[j]);
        if (len != len2) continue;

        err_cnt = 0;
        for (k=0; k<len2; k++)
        {
            if (str[k] != number[j][k]) err_cnt++;
        }
        if (err_cnt <= 1)
        {
            printf("%d\n", j+1);
            break;
        }
    }
}


int main()
{
    int i, n;
    char str[6];

    fscanf(stdin, "%d", &n);
    for (i=0; i<n; i++)
    {
        fscanf(stdin, "%s", &str);
        change_word(str);
    }

    return 0;
}


wbkuo 發表在 痞客邦 留言(0) 人氣()