AtCoder 生活　56日目

[前回](https://qiita.com/flandrescarlet237/items/b64a12cbbf9b1f34ba13)

#56日目
今回は、A問題を4問、B問題を4問、C問題を1問、D問題を1問解きました。

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC006|A|◯|2分34秒|
|ABC006|B|◯|19分34秒|
|ABC005|A|◯|1分42秒|
|ABC005|B|◯|4分42秒|
|ABC004|A|◯|49秒|
|ABC004|B|◯|33分57秒|
|ABC003|A|◯|8分20秒|
|ABC003|B|✕|146分25秒|
|ABC073|C|◯|50分|
|ABC072|D|✕|133分4秒|


##[ABC006](https://atcoder.jp/contests/abc006)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    if(n%3 == 0) cout << "YES" << endl;
    else cout << "NO" << endl;
}

```
解くのにかかった時間：2分34秒


###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int n;
    cin >> n;
    ll a[n+1] = {0};
    a[1] = 0;
    a[2] = 0;
    a[3] = 1;
    for(int i = 4; i <= n;i++){
        a[i] += a[i-1] + a[i-2] + a[i-3];
        a[i] %= 10007;
    }
    cout << a[n] << endl;
}

```
解くのにかかった時間：19分34秒


##[ABC005](https://atcoder.jp/contests/abc005)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int x,y;
    cin >> x >> y;
    cout << y/x << endl;
}

```
解くのにかかった時間：1分42秒


###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int n;
    cin >> n;
    int ans = 105;
    rep(i,n){
        int a;
        cin >> a;
        ans = min(ans,a);
    }
    cout << ans << endl;
}

```
解くのにかかった時間：4分42秒


##[ABC004](https://atcoder.jp/contests/abc004)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    cout << n*2 << endl;
}

```
解くのにかかった時間：49秒


###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    vector<vector<char>> c(4,vector<char>(4));
    rep(i,4){
        rep(j,4){
            cin >> c[i][j];
        }
    }
    for(int i = 3;i >= 0;i--){
        for(int j = 3;j >= 0;j--) cout << c[i][j] << " ";
      cout << endl;
    }
}

```
解くのにかかった時間：33分57秒


##[ABC003](https://atcoder.jp/contests/abc003)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    int s = (n+1)*n/2;
    int ans = 10000*s/n;
    cout << ans << endl;
}

```
解くのにかかった時間：8分20秒


###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    string S,T;
    cin>>S>>T;
    ll N=S.size();
    rep(i,N){
        if((S.at(i)=='@'&&(T.at(i)=='@'||T.at(i)=='a'||T.at(i)=='t'||T.at(i)=='c'||T.at(i)=='o'||T.at(i)=='d'||T.at(i)=='e'||T.at(i)=='r'))
            ||(T.at(i)=='@'&&(S.at(i)=='@'||S.at(i)=='a'||S.at(i)=='t'||S.at(i)=='c'||S.at(i)=='o'||S.at(i)=='d'||S.at(i)=='e'||S.at(i)=='r'))){
            S.at(i)=T.at(i);
        }
    }
    if(S==T) cout<< "You can win" <<endl;
    else cout<< "You will lose" <<endl;
}

```
解くのにかかった時間：146分25秒
感想：これとほぼ変わらないものを書いていたがACに何故かならなかった。


##[ABC073_C](https://atcoder.jp/contests/abc073/tasks/abc073_c)

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    vector<int> a(n);
    rep(i,n) cin >> a[i];
    sort(a.begin(),a.end());
    int c = 0;
    int ans = 0;
    rep(i,n){
        if(a[i] == a[i+1]) c++;
        if(a[i] != a[i+1]){
            if(c%2 != 0) ans++; 
            c = 0;
        }
    }
    cout << ans << endl;
}

```

解くのにかかった時間：50分


##[ABC072_D](https://atcoder.jp/contests/abc072/tasks/arc082_b)

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n;
    cin >> n;
    int ans = 0;
    vector<int> p(n);
    rep(i,n){
        cin >> p[i];
        p[i]--;
    }
    rep(i,n){
        if(i == p[i]){
            ans++;
            if(i < n - 1) swap(p[i],p[i+1]);
            else swap(p[i],p[i-1]);
        }
    }
    cout << ans << endl;
}

```

解くのにかかった時間：133分4秒
感想：簡単な解き方はないかと深く考えすぎた。


###最後に
安定して茶色diffを解けるようにしていきたい

難易度|かかった平均時間|解けた問題数|
|:-:|---|---|
|A|2分47秒|4問中4問|
|B|18分57秒|4問中3問|
|C|50分|1問中1問|