4.15 “万古瘤芳”训练记录

//这套题的名字源于队友在dota2的段位

A.CodeForces - 939B 

Hamster Farm


完全是的签到用的水题,找出余数最小的那个,而且随便输出哪组都行,这大大减小了难度。

但是因为自己没看清数据范围还是WA了好几发,做题还是需要细心啊;

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;
long long int a[100005];
long long int n,k;
long long int flag,minn,yu;
int main()
{

    scanf("%lld%lld",&n,&k);
    minn=1e18;
    for(long long int i=0;i<k;i++)
    {
        scanf("%lld",&a[i]);
        yu=n%a[i];
        //printf("%d\n",yu);
        if(yu<minn)
        {
            minn=yu;
            flag=i;
        }

    }
    printf("%lld %lld\n",flag+1,n/a[flag]);
    return 0;
}

B. 

CodeChef-MINSTR   Minimize the string

 

这是一道字符串的规律题,一开始想的是利用队列一次次判断,后来在队友的帮组下找到了规律

我是萌萌哒B题题解解

C.HYSBZ - 2563 阿狸和桃子的游戏

一道贪心题,题解单独写。

我是萌萌哒C题题解解

E. HDU - 5512 

 Pagodas

 

这应该是道数论入门题,记得应该是在计蒜客的某个课程上做过

有关gcd的应用(模拟几组样例出来的规律)

找到a,b的gcd,用一遍for找到多少数可以被整除,再对计数进行判断,即可得到答案。

#include<bits/stdc++.h>
using namespace std;
int f_gcd(int a,int b)
{
    if(b==0) return a;
    return f_gcd(b,a%b);;
}
int main()
{
    int t;
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        int n,a,b;
        int cnt=0;
        scanf("%d%d%d",&n,&a,&b);
        int gcd=f_gcd(a,b);
        for(int j=1;j<=n;j++)
        {
            if(j%gcd==0)
                cnt++;
        }
        if(cnt%2==0)
        {
            printf("Case #%d: Iaka\n",i);
        }
        else printf("Case #%d: Yuwgna\n",i);

    }
}
//未全补完



阅读更多

没有更多推荐了,返回首页