zoukankan      html  css  js  c++  java
  • 【索引】Volume 0. Getting Started

    AOAPC I: Beginning Algorithm Contests (Rujia Liu)


    Volume 0. Getting Started


    FILE 10055 - Hashmat the Brave Warrior 153793
     
    27.33%
    33385
     
    85.74%
    FILE 10071 - Back to High School Physics 76581
     
    50.07%
    28855
     
    93.71%
    FILE 10300 - Ecological Premium 26621
     
    66.39%
    15397
     
    96.67%
    FILE 458 - The Decoder 53026
     
    47.65%
    19817
     
    92.60%
    FILE 494 - Kindergarten Counting Game 50741
     
    37.94%
    17306
     
    88.44%
    FILE 414 - Machined Surfaces 15779
     
    43.57%
    6212
     
    92.14%
    FILE 490 - Rotating Sentences 31459
     
    28.06%
    8462
     
    78.31%
    FILE 445 - Marvelous Mazes 25516
     
    41.20%
    8877
     
    85.10%
    FILE 488 - Triangle Wave 64113
     
    21.00%
    14397
     
    64.00%
    FILE 489 - Hangman Judge 18406
     
    26.42%
    5871
     
    60.77%
    FILE 694 - The Collatz Sequence 24814
     
    39.03%
    8554
     
    87.32%
    FILE 457 - Linear Cellular Automata 7589
     
    33.79%
    2571
     
    81.56%



    uva 10055  Hashmat the brave warrior

    题目大意:求两个数的差,注意上限。

    #include <stdio.h>
    int main() {
        long long a, b;
        while (scanf("%lld%lld", &a, &b) == 2) {
    	printf("%lld
    ", a > b ? a - b : b - a);
        }
        return 0;
    }
    


    uva 10071 Back to High School Physics

    题目大意:计算2 * a * b。

    #include <stdio.h>
    int main() {
        int v, t;
        while (scanf("%d%d", &v, &t) == 2) {
    	printf("%d
    ", 2 * v * t);
        }
        return 0;
    }
    

    uva 10300 Ecological Premium

    #include <stdio.h>
    int main() {
        int cas;
        int n, size, ani, val;
        scanf("%d", &cas);
        while (cas--) {
    	int sum = 0;
    	scanf("%d", &n);
    	for (int i = 0; i < n; i++) {
    	    scanf("%d%d%d", &size, &ani, &val);
    	    sum += size * val;
    	}
    	printf("%d
    ", sum);
        }
        return 0;
    }
    

    uva 458 The decoder

    #include <stdio.h>
    #include <string.h>
    const int N = 1005;
    int main() {
        char s[N];
        while (gets(s)) {
    	int len = strlen(s);
    	for (int i = 0; i < len; i++)
    	    s[i] = s[i] - 7;
    	puts(s);
        }
        return 0;
    }
    


    uva 494 Kindergarten Counting Game

    #include <stdio.h>
    #include <string.h>
    
    const int N = 10005;
    
    bool judge(char c) {
        if (c >= 'a' && c <= 'z')
    	return true;
        else if (c >= 'A' && c <= 'Z')
    	return true;
        return false;
    }
    
    int main() {
        char str[N];
        while (gets(str)) {
    	int len = strlen(str), flag = 0, n = 0;
    	for (int i = 0; i < len; i++) {
    	    if (judge(str[i])) {
    		if (flag)   continue;
    		flag = 1;
    		n++;
    	    }
    	    else
    		flag = 0;
    	}
    	printf("%d
    ", n);
        }
        return 0;
    }
    



    uva 414 Machined Surfaces

    #include <stdio.h>
    #include <string.h>
    
    const int N = 10005;
    
    int count(char str[]) {
        int cnt = 0, len = strlen(str);
        for (int i = 0; i < len; i++)
    	if (str[i] == 'X')
    	    cnt++;
        return cnt;
    }
    
    int main() {
        char str[N];
        int n, max, sum, tmp;
        while (scanf("%d%*c", &n), n) {
    	max = sum = 0;
    	for (int i = 0; i < n; i++) {
    	    gets(str);
    	    tmp = count(str);
    	    if (max < tmp)
    		max = tmp;
    	    sum += tmp;
    	}
    	printf("%d
    ", max * n - sum );
        }
        return 0;
    }
    


    uva 490 Rotating Sentences

    #include <stdio.h>
    #include <string.h>
    const int N = 107;
    char str[N][N];
    
    int main() {
        int n = 0, len = 0;
        memset(str, 0, sizeof(str));
        while (gets(str[n])) {
    	int a = strlen(str[n++]);
    	if (len < a)
    	    len = a;
        }
    
        for (int i = 0; i < n; i++)
    	for (int j = 0; j < len; j++)
    	    if (!str[i][j])
    		str[i][j] = ' ';
    
        for (int i = 0; i < len; i++) {
    	for (int j = n - 1; j >= 0; j--)
    	    printf("%c", str[j][i]);
    	printf("
    ");
        }
        return 0;
    }
    

    uva445 Marvelous Mazes

    #include <stdio.h>
    #include <string>
    #include <iostream>
    using namespace std;
    
    int main() {
        string str;
        while (getline(cin, str)) {
    	int len = str.length(), cnt = 0;
    	for (int i = 0; i < len; i++) {
    	    if (str[i] >= '0' && str[i] <= '9')
    		cnt += str[i] - '0';
    	    else if (str[i] == '!')
    		printf("
    ");
    	    else {
    		for (int j = 0; j < cnt; j++)
    		    printf("%c", str[i] != 'b' ? str[i] : ' ');
    		cnt = 0;
    	    }
    	}
    	printf("
    ");
        }
        return 0;
    }
    

    uva 488 Triangle Wave

    #include <stdio.h>
    
    void print(int len, int n) {
        while (n--) {
    	for (int i = 1; i <= len; i++) {
    	    for (int j = 0; j < i; j++)
    		printf("%d", i);
    	    printf("
    ");
    	}
    	for (int i = len - 1; i > 0; i--) {
    	    for (int j = 0; j < i; j++)
    		printf("%d", i);
    	    printf("
    ");
    	}
    	if (n)	printf("
    ");
        }
    }
    
    int main() {
        int cas, len, n;
        scanf("%d", &cas);
        while (cas--) {
    	scanf("%d%d", &len, &n);
    	print(len, n);
    	if (cas) printf("
    ");
        }
        return 0;
    }
    


    uva 489 Hangman Judge

    #include <stdio.h>
    #include <string.h>
    const int N = 30;
    const int M = 10005;
    int answer[N], gass[N];
    int cntAnswer, cntWrong;
    
    int main() {
        int cas;
        char str[M];
        while (scanf("%d", &cas), cas != -1) {
    	// Init;
    	memset(answer, 0, sizeof(answer));
    	memset(gass, 0, sizeof(gass));
    	cntAnswer = cntWrong = 0;
    
    	scanf("%s", str);
    
    	int len = strlen(str);
    	for (int i = 0; i < len ; i++) {
    	    if (answer[str[i] - 'a'] == 0) {
    		answer[str[i] - 'a'] = 1;
    		cntAnswer++;
    	    }
    	}
    
    	scanf("%s", str);
    
    	len = strlen(str);
    	for (int i = 0; i < len; i++) {
    	    if (gass[str[i] - 'a']) continue;
    	    if (answer[str[i] - 'a'])
    		cntAnswer--;
    	    else
    		cntWrong++;
    	    gass[str[i] - 'a'] = 1;
    	    if (cntAnswer == 0 || cntWrong == 7)
    		break;
    	}
    
    	printf("Round %d
    ", cas);
    	if (cntAnswer)
    	    printf("%s
    ", cntWrong != 7 ? "You chickened out." : "You lose.");
    	else
    	    printf("You win.
    ");
        }
        return 0;
    }
    


    uva 694 The Collatz Sequence

    #include <stdio.h>
    int main() {
        long long cur, max, cnt, cas = 1, rec;
        while (scanf("%lld%lld", &cur, &max)) {
    	if (cur < 0 || max < 0)	break;
    	cnt = 1;
    	rec = cur;
    	while (cur != 1) {
    	    if (cur % 2)
    		cur = 3 * cur + 1;
    	    else
    		cur = cur / 2;
    	    if (cur > max)	break;
    	    cnt++;
    	}
    	printf("Case %lld: A = %lld, limit = %lld, number of terms = %lld
    ", cas++, rec, max, cnt);
        }
        return 0;
    }
    

    uva 457 Linear Cellular Automata

    #include <stdio.h>
    #include <string.h>
    const int N = 42;
    const char sign[] = " .xW";
    int DNA[10], tmp[N], rec[N];
    
    int main() {
        int cas;
        scanf("%d", &cas);
        while (cas--) {
    	// Init
    	memset(DNA, 0, sizeof(DNA));
    	memset(tmp, 0, sizeof(tmp));
    	memset(rec, 0, sizeof(rec));
    	tmp[20] = rec[20] = 1;
    
    	for (int i = 0; i < 10; i++)
    	    scanf("%d", &DNA[i]);
    
    	for (int data = 1; data <= 50; data++) {
    	    for (int i = 1; i <= 40; i++)
    		printf("%c", sign[tmp[i]]);
    	    printf("
    ");
    
    	    for (int i = 1; i <= 40; i++) 
    		rec[i] = DNA[tmp[i - 1] + tmp[i] + tmp[i + 1]];
    	    memcpy(tmp, rec, sizeof(rec));
    	}
    	if (cas)
    	    printf("
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    SDOI Day2
    SDOI Day1
    Codeforces 506E Mr. Kitayuta's Gift (矩阵乘法,动态规划)
    CEOI 2014 wall (最短路)
    BZOJ 3926: [Zjoi20150]诸神眷顾的幻想乡(后缀自动机)
    BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)
    BZOJ 3924: [Zjoi2015]幻想乡战略游戏(动态点分治)
    Nginx与Lua的开发
    Nginx访问控制
    Nginx模块
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3275441.html
Copyright © 2011-2022 走看看