夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

精進

カンニングもまぁまぁした。

英語つかれる。あと変なところで引っ掛けるのやめて欲しい。

1207

i

#include <cstdio>

int count(int n)
{
    int cnt=1;
    while (n>1) {
        if (n%2==0) n/=2;
        else n=3*n+1;
        cnt++;
    }
    return cnt;
}

int main()
{
    int i, j;
    while (scanf("%d%d",&i,&j)!=EOF) {
        printf("%d %d",i,j);
        if (i>j) {
            int temp=i;
            i=j;
            j=temp;
        }
        int max=0;
        for (int n=i; n<=j; n++) {
            int temp=count(n);
            if (max<temp) max=temp;
        }
        printf(" %d\n",max);
    }
}

1547

なぜか自分で書いたコードがSegmentation fault(core dumped)を履き続けてたので最後はコピペになった(;・∀・)

#include <stdio.h>

int main(){
    int n,x,y,z,i,min,max,a[10];
    char s[10][256];
    while(1){
        scanf("%d",&n);
        if(n<0)break;
        min=0;max=0;
        for(i=0;i<n;i++){
            scanf("%d %d %d %s",&x,&y,&z,s[i]);
            a[i]=x*y*z;
            if(a[min]>a[i])min=i;
            else if(a[max]<a[i])max=i;
        }
        printf("%s took clay from %s.\n",s[max],s[min]);
    }
    return 0;
}

2390

doubleじゃないと数値がずれる。float使ってて一回WA

#include <cstdio>
int main()
{
    int R, M, Y;
    scanf("%d%d%d", &R, &M, &Y);
    double inter = 1.0 + (double)R / 100;
    double now = (double)M;
    for (int i = 0; i < Y; i++) {
        now *= inter;
    }
    printf("%d\n",(int)now);
}

2388

地味だけどやるだけ

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
    int N;
    scanf("%d", &N);
    vector<int> cow(N);
    int sum = 0, res;
    for (int i = 0; i < N; i++) {
        scanf("%d", &cow[i]);
        sum += cow[i];
    }
    sort(cow.begin(), cow.end());
    printf("%d\n", cow[N/2]);
}

2350

キャストうぜぇw

#include <cstdio>

int main()
{
    int C, N;
    scanf("%d", &C);
    for (int ix = 0; ix < C; ix++) {
        scanf("%d", &N);
        int sum = 0;
        int std[N];
        for (int i = 0; i < N; i++) {
            scanf("%d", &std[i]);
            sum += std[i];
        }
        int res = 0;
        for (int i = 0; i < N; i++)
            if (std[i] > sum / N) res++;
        float ans = (float)res * 100 / (float)N;
        printf("%.3f%%\n", ans);
    }
}

2301

やるだけ

#include <cstdio>

int main()
{
    int n, s, d;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d%d", &s, &d);
        if (s < d || (s + d) % 2 != 0 || (s - d) % 2 != 0) {
            printf("impossible\n");
            continue;
        }
        printf("%d %d\n", (s + d) / 2, (s - d) / 2);
    }
}

感想

アルゴリズム的思考とやらがなかなかできない・・・

だれか特訓して〜・・・あ、俺がするのか。