해답의 소감

11875 단어 codeforces

A. Dislike of Threes


생각


3을 끝으로 나눈 정수와 1의 자릿수를 제외하고는 다른 정수도 수조에 들어간다. 수조의 첫 번째 숫자에 적당한 숫자를 넣으면 자모와 k가 일치한다.
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i,n) for(ll i=0; i<(n); i++)

int main() {
    int t; cin >> t;
    vector<ll> v;
    v.push_back(0);
    for(ll i=1; i<=100000; i++){
        if(i%3 == 0 || i%10 == 3) continue;
        v.push_back(i);
    }
    rep(i,t){
        ll k; cin >> k;
        cout << v[k] << endl;
    }

    return 0;
}

B. Who's Opposite?


https://codeforces.com/contest/1560/problem/B?locale=en

$c+N달러라고 대답했을 때
$c-N$이라고 대답했을 때
답이 있는 조건은 $1\leqa, b, c\leq2N$입니다.
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i,n) for(ll i=0; i<(n); i++)

int main() {
    ll t; cin >> t;
    rep(i,t){
        ll a, b, c;
        cin >> a >> b >> c;
        ll n = abs(a-b);
        if(a>2*n || b>2*n || c>2*n) cout << -1 << endl;
        else if(c<=n) cout << c+n << endl;
        else cout << c-n << endl;
    }
    return 0;
}

C. Infinity Table


숫자의 구조는 아래 그림에서 보듯이 성년의 케이크 층을 상상할 때 제시한 숫자는 1층에서 몇 층까지입니까?변수 $k$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$bound 계산을 사용하여 k를 얻으면 입력한 숫자에서 $(k-1)^2달러를 빼면 이 숫자가 층에서 몇 위인지 알 수 있고 답을 주려고 노력할 수 있습니다.

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i,n) for(ll i=0; i<(n); i++)
#define all(x) (x).begin(), (x).end()
#define lb(c, x) distance((c).begin(), lower_bound(all(c), (x)))

int main() {
    ll t; cin >> t;
    vector<ll> v;
    for(ll i=0; ; i++){
        if(i*i>1000000000) break;
        v.push_back(i*i);
    }
    rep(i,t){
        ll n; cin >> n;
        ll k = lb(v, n);
        ll sum = k*k-(k-1)*(k-1), h = n-(k-1)*(k-1);
        ll I, J;
        if(h<=(sum+1)/2){
            I = h;
            J = k;
        }else{
            I = k;
            J = k-(h-sum/2)+1;
        }
        cout << I << " " << J << endl;

    } 
    return 0;
}

좋은 웹페이지 즐겨찾기