Codeforcesラウンド#609(本部2)問題への解決策

方程式

\ [制限時間:3秒\
クアッドメモリ制限:256メガバイト\] この練習の質問の多くは、さらに直接的暴力の裁判官


見る

#include <map>
#include <set>
#include <list>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <cfloat>
#include <string>
#include <vector>
#include <cstdio>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#define  lowbit(x)  x & (-x)
#define  mes(a, b)  memset(a, b, sizeof a)
#define  fi         first
#define  se         second
#define  pb         push_back
#define  pii        pair<int, int>

typedef unsigned long long int ull;
typedef long long int ll;
const int    maxn = 1e5 + 10;
const int    maxm = 1e5 + 10;
const ll     mod  = 1e9 + 7;
const ll     INF  = 1e18 + 100;
const int    inf  = 0x3f3f3f3f;
const double pi   = acos(-1.0);
const double eps  = 1e-8;
using namespace std;

int n, m;
int cas, tol, T;

bool ok(int a) {
    for(int i=2; i*i<=a; i++) {
        if(a%i == 0)    return 1;
    }
    return 0;
}

bool che(int a, int b) {
    return ok(a) && ok(b);
}

int main() {
    int d;
    scanf("%d", &d);
    for(int i=1000000000; i>=d; i--) {
        if(che(i, i-d)) return 0*printf("%d %d\n", i, i-d);
    }
    return 0;
}

モジュロ平等

\ [制限時間:3秒\
クアッドメモリ制限:256メガバイト\] まず\([1] \)になります\(B \)要素、そしてあなたが列挙することができます(\ [1 ] \)番号に、この数があると判定され(X- \)\、次いで合法性を決定し、全て見つける\(X-を\)


見る

#include <map>
#include <set>
#include <list>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <cfloat>
#include <string>
#include <vector>
#include <cstdio>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#define  lowbit(x)  x & (-x)
#define  mes(a, b)  memset(a, b, sizeof a)
#define  fi         first
#define  se         second
#define  pb         push_back
#define  pii        pair<int, int>

typedef unsigned long long int ull;
typedef long long int ll;
const int    maxn = 2e3 + 10;
const int    maxm = 1e5 + 10;
const ll     mod  = 1e9 + 7;
const ll     INF  = 1e18 + 100;
const int    inf  = 0x3f3f3f3f;
const double pi   = acos(-1.0);
const double eps  = 1e-8;
using namespace std;

int n, m;
int cas, tol, T;

int a[maxn], b[maxn];
int s[maxn];

int main() {
    scanf("%d%d", &n, &m);
    for(int i=1; i<=n; i++) scanf("%d", &a[i]);
    for(int i=1; i<=n; i++) scanf("%d", &b[i]);
    sort(a+1, a+1+n);
    sort(b+1, b+1+n);
    int ans = inf;
    for(int i=1; i<=n; i++) {
        int d = (b[i]-a[1]+m)%m;
        for(int j=1; j<=n; j++) s[j] = (a[j]+d)%m;
        sort(s+1, s+1+n);
        int f = 1;
        for(int j=1; j<=n; j++) {
            if(s[j] != b[j]) {
                f = 0;
                break;
            }
        }
        if(f)   ans = min(ans, d);
    }
    printf("%d\n", ans);
    return 0;
}

ロング美しい整数

\ [制限時間:3秒\
クアッドメモリ制限:256メガバイト\] 最後の図に見つけることができますが確かである(K \)\ループ部は、その後、私たちは与えられた番号を開始する前に考えることができ、循環されていている(\ K \)という表情で位置、\(kは\)でない場合は、より大きな循環缶ビット、この\(K \)桁プラスワン、その後のサイクルを開始します。

であるため、\(K \)\(9 \)ループには、発行後、そうではない心配プラス桁の可変数、可能でなければなりません。


見る

#include <map>
#include <set>
#include <list>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <cfloat>
#include <string>
#include <vector>
#include <cstdio>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#define  lowbit(x)  x & (-x)
#define  mes(a, b)  memset(a, b, sizeof a)
#define  fi         first
#define  se         second
#define  pb         push_back
#define  pii        pair<int, int>

typedef unsigned long long int ull;
typedef long long int ll;
const int    maxn = 2e5 + 10;
const int    maxm = 1e5 + 10;
const ll     mod  = 1e9 + 7;
const ll     INF  = 1e18 + 100;
const int    inf  = 0x3f3f3f3f;
const double pi   = acos(-1.0);
const double eps  = 1e-8;
using namespace std;

int n, m;
int cas, tol, T;

char s[maxn], s1[maxn], s2[maxn];

bool ok() {
    for(int i=1; i<=n; i++) {
        if(s2[i] > s[i])    return true;
        if(s2[i] < s[i])    return false;
    }
    return true;
}

int main() {
    scanf("%d%d", &n, &m);
    scanf("%s", s+1);
    for(int i=1; i<=m; i++) s1[i] = s[i];
    for(int i=1, j=1; i<=n; i++) {
        s2[i] = s1[j];
        j = j%m+1;
    }
    if(ok()) return 0*printf("%d\n%s\n", n, s2+1);
    for(int i=1; i<=m; i++) s1[i] = s1[i]-'0';
    s1[m]++;
    for(int i=m; i>=1; i--) {
        if(s1[i]>=10) {
            s1[i] -= 10;
            s1[i-1] += 1;
        }
        s1[i] += '0';
    }
    for(int i=1, j=1; i<=n; i++) {
        s2[i] = s1[j];
        j = j%m+1;
    }
    printf("%d\n%s\n", n, s2+1);
    return 0;
}

ヤングのためのドミノ

\ [制限時間:3秒\
クアッドメモリ制限:256メガバイト\] 私を殺すために質問を考えますが、問題は本当にエレガントであるという考え。

私たちは、答えがでなければならないである、その後、国際チェス盤は黒と白で、国際的なボードとしてマップ全体を置く(分\)\ (黒格子縞、白い四角)他のI、私は小さいものを選んだので、あなたは掻き出すに隣接して見つけることができるようになります。


見る

#include <map>
#include <set>
#include <list>
#include <ctime>
#include <cmath>
#include <stack>
#include <queue>
#include <cfloat>
#include <string>
#include <vector>
#include <cstdio>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
#define  lowbit(x)  x & (-x)
#define  mes(a, b)  memset(a, b, sizeof a)
#define  fi         first
#define  se         second
#define  pb         push_back
#define  pii        pair<int, int>

typedef unsigned long long int ull;
typedef long long int ll;
const int    maxn = 1e5 + 10;
const int    maxm = 1e5 + 10;
const ll     mod  = 1e9 + 7;
const ll     INF  = 1e18 + 100;
const int    inf  = 0x3f3f3f3f;
const double pi   = acos(-1.0);
const double eps  = 1e-8;
using namespace std;

int n, m;
int cas, tol, T;

int main() {
    scanf("%d", &n);
    ll ans1 = 0, ans2 = 0;
    for(int i=1, x; i<=n; i++) {
        scanf("%d", &x);
        if(i&1) ans1+=x/2, ans2+=(x+1)/2;
        else    ans2+=x/2, ans1+=(x+1)/2;
    }
    printf("%lld\n", min(ans1, ans2));
    return 0;
}

K整数

\ [制限時間:3秒\クアッドメモリ制限:256メガバイト\]
留坑

おすすめ

転載: www.cnblogs.com/Jiaaaaaaaqi/p/12080426.html