Chieh's Blog

Because Of Coding

AtCoder Beginner Contest 090

Chieh posted @ 2018年3月11日 21:48 in AtCoder , 380 阅读

A - Diagonal String

水题:记录直接输出就好

//
//  main.cpp
//  atcoder
//
//  Created by cfhaiteeh on 11/03/2018.
//  Copyright © 2018 cfhaiteeh. All rights reserved.
//
 
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
char ch[4][4];
int main() {
    for(int i=1;i<=3;i++)scanf("%s",ch[i]+1);
    for(int i=1;i<=3;i++)printf("%c",ch[i][i]);
    printf("\n");
    return 0;
}

B - Palindromic Numbers

数据较小,判断记录总的多少就好


//
//  main.cpp
//  atcoder
//
//  Created by cfhaiteeh on 11/03/2018.
//  Copyright © 2018 cfhaiteeh. All rights reserved.
//

#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
char ch[4][4];
int ai[123456];
  int ci[6];
int main() {
    for(int i=10000;i<=99999;i++){
      
        int st=0;
        int t=i;
        while(t>0){
            int p=t%10;
            t=t/10;
            ci[++st]=p;
        }
        bool flag=1;
        for(int j=1;j<=2;j++){
            if(ci[j]==ci[5-j+1]){
                continue;
            }
            flag=0;
            break;
        }
        if(flag)ai[i]=1;
    }
    for(int i=10000;i<=99999;i++)ai[i]+=ai[i-1];
    int l,r;
    while(scanf("%d%d",&l,&r)!=EOF){
        printf("%d\n",ai[r]-ai[l-1]);
    }
    return 0;
}

C - Flip,Flip, and Flip......

找规律,特判就行

//
//  main.cpp
//  atcoder
//
//  Created by cfhaiteeh on 11/03/2018.
//  Copyright © 2018 cfhaiteeh. All rights reserved.
//
 
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#define LL long long
using namespace std;
LL n,m;
LL ans;
int main() {
    while(scanf("%lld%lld",&n,&m)!=EOF){
        if(n>m)swap(n,m);
        if(n==1&&m==1)printf("1\n");
        else {
            if(n==1)printf("%lld\n",m-2);
            else {
                LL ans=(n-2)*(m-2);
                printf("%lld\n",ans);
            }
        }
    }
    return 0;
}

D - Remainder Reminder

对于除数进行枚举,易知当除数为i时,1~n的余数为1,2,。。。。0,1,2.。。。0 循环。所以只要直接判断n里有多少组1.2.。。0即可,对于不能整除时进行特判就行。复杂度为O(n)本人对0也进行了特判,主要感觉0怪怪的。。。//

//  main.cpp
//  atcoder
//
//  Created by cfhaiteeh on 11/03/2018.
//  Copyright © 2018 cfhaiteeh. All rights reserved.
//
 
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#define LL long long
using namespace std;
LL n,m;
LL ans;
int main() {
    while(scanf("%lld%lld",&n,&m)!=EOF){
        ans=0;
        if(m==0){
            ans=n;
            for(int i=2;i<=n;i++){
                LL p=n/i;
                ans+=p;
            }
            m=1;
        }
       
        
            for(LL i=m+1;i<=n;i++){
                LL p=n/i;
                LL q=(n%i)-m+1;
                if(q<0)q=0;
                LL z=i-m;
                ans=ans+z*(p)+q;
                
            }
            printf("%lld\n",ans);
        
    }
    return 0;
}

 

Avatar_small
professional cleanin 说:
2021年10月02日 17:57

What amount of cash you can make is absolutely your responsibility on the size of you would like to grow your organization and simply how much time you are able to put inside, just like any business. If you desire to make slightly extra on the side just accept several clients regarding pocket funds or in order to make a whole lot then you really have to work that and put lots of time in, initially.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter