QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#826270#9768. A + B = C Problemucup-team008#WA 2ms3632kbC++174.7kb2024-12-22 05:13:132024-12-22 05:13:15

Judging History

你现在查看的是最新测评结果

  • [2024-12-22 05:13:15]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3632kb
  • [2024-12-22 05:13:13]
  • 提交

answer

#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <cstring>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <vector>

using namespace std;

// BEGIN NO SAD
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define trav(a, x) for(auto& a : x)
#define all(x) x.begin(), x.end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
typedef vector<int> vi;
#define f first
#define s second
#define derr if(1) cerr

void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
 
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ", "; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? ", " : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define debug(x...) cerr << "\e[91m"<<__func__<<":"<<__LINE__<<" [" << #x << "] = ["; _print(x); cerr << "\e[39m" << flush;
// END NO SAD

template<class Fun>
class y_combinator_result {
  Fun fun_;
public:
  template<class T>
  explicit y_combinator_result(T &&fun): fun_(std::forward<T>(fun)) {}

  template<class ...Args>
  decltype(auto) operator()(Args &&...args) {
    return fun_(std::ref(*this), std::forward<Args>(args)...);
  }
};

template<class Fun>
decltype(auto) y_combinator(Fun &&fun) {
  return y_combinator_result<std::decay_t<Fun>>(std::forward<Fun>(fun));
}

template<class T>
bool updmin(T& a, T b) {
  if(b < a) {
    a = b;
    return true;
  }
  return false;
}
template<class T>
bool updmax(T& a, T b) {
  if(b > a) {
    a = b;
    return true;
  }
  return false;
}
typedef int64_t ll;
typedef long double ld;

ll lcm(ll a, ll b) {
  return a/gcd(a,b)*b;
}
void rsolve() {
  ll a, b, c;
  cin >> a >> b >> c;
  if(a==2&&b==2&&c==2) return void(cout << "NO\n");
  if(lcm(b,c)%a) return void(cout << "NO\n");
  if(lcm(a,c)%b) return void(cout << "NO\n");
  if(lcm(a,b)%c) return void(cout << "NO\n");
  cout << "YES\n";
  ll shared = gcd(gcd(a,b),c);
  ll ab = gcd(a/shared,b/shared);
  ll ac = gcd(a/shared,c/shared);
  ll bc = gcd(b/shared,c/shared);
  if(ab==1&&ac==1&&bc==1) {
    if(shared == 1) {
      cout << "0\n0\n0\n";
      return;
    }
    assert(shared >= 3);
    for(int i = 0; i < shared-2; i++) cout << 0; cout << 0; cout << 1 << "\n";
    for(int i = 0; i < shared-2; i++) cout << 0; cout << 1; cout << 0 << "\n";
    for(int i = 0; i < shared-2; i++) cout << 0; cout << 1; cout << 1 << "\n";
    return;
  }
  if(ab==1&&ac==1) {
    for(int i = 0; i < shared-1; i++) cout << 0; cout << 1 << "\n";
    for(int i = 0; i < shared*ab*bc-1; i++) cout << 0; cout << 1 << "\n";
    for(int i = 0; i < shared*ac*bc; i++) {
      int r = 0;
      if(i%shared==shared-1) r ^= 1;
      if(i%(shared*ab*bc)==(shared*ab*bc)-1) r ^= 1;
      cout << r;
    } cout << "\n";
    return;
  }
  for(int i = 0; i < shared*ab*ac; i++) {
    int r = 0;
    if((i/shared)%ab == ab-1) r ^= 1;
    if((i/shared)%ac == ac-1) r ^= 1;
    cout << r;
  } cout << "\n";
  for(int i = 0; i < shared*ab*bc; i++) {
    int r = 0;
    if((i/shared)%ab == ab-1) r ^= 1;
    if((i/shared)%bc == bc-1) r ^= 1;
    cout << r;
  } cout << "\n";
  for(int i = 0; i < shared*ac*bc; i++) {
    int r = 0;
    if((i/shared)%ac == ac-1) r ^= 1;
    if((i/shared)%bc == bc-1) r ^= 1;
    cout << r;
  } cout << "\n";
}
void solve() {
  int t;
  cin >> t;
  while(t--) rsolve();
}

// what would chika do
// are there edge cases (N=1?)
// are array sizes proper (scaled by proper constant, for example 2* for koosaga tree)
// integer overflow?
// DS reset properly between test cases
// are you doing geometry in floating points
// are you not using modint when you should

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  solve();
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3560kb

input:

2
2 3 6
2 3 5

output:

YES
10
110
011100
NO

result:

ok ok (2 test cases)

Test #2:

score: 0
Accepted
time: 1ms
memory: 3616kb

input:

1214
940 746 485
304 504 661
815 674 830
704 774 691
545 597 924
330 894 320
491 425 479
768 869 698
706 480 785
358 548 504
999 473 363
532 950 745
512 682 364
829 832 959
570 931 317
324 543 362
590 421 737
326 483 503
958 890 793
836 721 518
720 361 363
730 402 753
810 416 585
781 953 490
623 360...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok ok (1214 test cases)

Test #3:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

1210
499 396 495
554 526 818
971 937 586
854 935 564
305 986 848
671 376 441
357 357 746
964 958 704
804 766 572
833 436 947
356 447 827
966 348 584
757 329 829
942 534 424
376 886 809
548 895 873
421 669 561
968 403 651
523 506 304
980 387 651
493 944 587
340 392 751
773 443 538
526 367 704
818 781...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok ok (1210 test cases)

Test #4:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

121
9149 7430 7076
5127 6824 8229
6040 4760 8057
4742 6130 3800
7937 3444 4416
3485 7603 7612
3265 6606 9735
4580 6802 4109
6961 9505 4946
8400 6078 7352
6403 5291 9568
3691 4849 6776
7453 8053 5141
4072 7135 9241
4170 5357 4242
5736 6326 4896
7878 8460 7902
6851 8932 6226
4420 7728 6902
8766 4301 9...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok ok (121 test cases)

Test #5:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

121
5165 3488 6416
5506 8817 3285
9701 6167 8838
6211 7870 7851
6480 8817 9996
9589 6724 5998
9846 7688 3785
8191 6317 8496
8237 7877 8017
6853 8745 3942
6492 3774 9258
7146 3444 4184
8732 3070 8945
9051 7898 3809
6168 7187 9232
7633 3321 5089
3330 4067 7416
8842 9135 4705
8454 9323 4884
9806 8674 7...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok ok (121 test cases)

Test #6:

score: -100
Wrong Answer
time: 2ms
memory: 3564kb

input:

9261
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
1 1 11
1 1 12
1 1 13
1 1 14
1 1 15
1 1 16
1 1 17
1 1 18
1 1 19
1 1 20
1 1 21
1 2 1
1 2 2
1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 2 10
1 2 11
1 2 12
1 2 13
1 2 14
1 2 15
1 2 16
1 2 17
1 2 18
1 2 19
1 2 20
1 2 21
1 3 1
1 3 2
1 3 3
1...

output:

YES
0
0
0
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
1
01
10
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
1
001
110
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
1
0001
1110
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO...

result:

wrong answer Incorrect period 4 2 4 (test case 1348)