QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#572183 | #6425. Harmonious Rectangle | Zhi_zI# | WA | 2ms | 3740kb | C++17 | 2.1kb | 2024-09-18 12:49:37 | 2024-09-18 12:49:37 |
Judging History
answer
#include <bits/stdc++.h>
/* Orther */
#define int long long
#define YES cout<<"YES\n"
#define NO cout<<"NO\n"
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
using namespace std;
/* Pair */
#define x first
#define y second
/* Data type */
using ll = long long;
using ull = unsigned long long;
using PII = pair<int,int>;
using VI = vector<int>;
/* STL */
#define eb emplace_back
#define ef emplace_front
#define pb push_back
#define pf push_front
#define mp make_pair
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define all1(x) x.begin()+1,x.end()
/* Random */
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define random(a,b) rng()%(b-a+1)+a
/* Contest */
const int INF = 0x3f3f3f3f ; // 1e9
const int MOD = 1e9 + 7 ;
const int N = 2e5 + 10, M = 55;
int qpow(int a,int b ) {
int res = 1;
while ( b ) {
if ( b & 1 ) {
res = res * a % MOD;
}
a = a * a % MOD;
b >>= 1;
}
return res % MOD;
}
int sbscw[9][9]=
{
{0,0,0,0,0,0,0,0,0},
{0,15,339,4761,52929,517761,4767849,43046721,387420489},
{0,339,16485,518265,14321907,387406809,460338013,429534507,597431612},
{0,4761,518265,43022385,486780060,429534507,792294829,175880701,246336683},
{0,52929,14321907,486780060,288599194,130653412,748778899,953271190,644897553},
{0,517761,387406809,429534507,130653412,246336683,579440654,412233812,518446848},
{0,4767849,460338013,792294829,748778899,579440654,236701429,666021604,589237756},
{0,43046721,429534507,175880701,953271190,412233812,666021604,767713261,966670169},
{0,387420489,597431612,246336683,644897553,518446848,589237756,966670169,968803245}
};
void Rainbow_()
{
int n , m ;
cin >> n >> m;
if (n == 1 || m == 1 ) {
cout << 0 << '\n';
} else if ( max( n , m ) > 9 ) {
cout << qpow(3 ,n * m);
} else {
n -- , m -- ;
cout << sbscw[n][m]<<'\n';
}
}
signed main()
{
IOS;
int _ = 1;
cin >> _;
while ( _ -- )
Rainbow_();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3668kb
input:
3 1 4 2 2 3 3
output:
0 15 16485
result:
ok 3 number(s): "0 15 16485"
Test #2:
score: -100
Wrong Answer
time: 2ms
memory: 3740kb
input:
10000 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 6...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 339 4761 52929 517761 4767849 43046721 387420489 4867843803810593924295345078658105427922948291...
result:
wrong output format Expected integer, but "486784380381059392429534507865...1412881026947929242461363181650" found