結果
問題 |
No.441 和か積
|
ユーザー |
![]() |
提出日時 | 2016-11-11 22:40:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,868 bytes |
コンパイル時間 | 872 ms |
コンパイル使用メモリ | 99,956 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 08:32:49 |
合計ジャッジ時間 | 1,768 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 10 WA * 20 |
ソースコード
#include <iostream> #include <cstdio> #include <vector> #include <cmath> #include <cstring> #include <numeric> #include <algorithm> #include <functional> #include <array> #include <map> #include <queue> #include <limits.h> #include <set> #include <stack> #include <random> #define rep(i,s,n) for(long long i = (s); (n) > i; i++) #define REP(i,n) rep(i,0,n) #define RANGE(x,a,b) ((a) <= (x) && (x) <= (b)) #define DUPLE(a,b,c,d) (RANGE(a,c,d) || RANGE(b,c,d) || RANGE(c,a,b) || RANGE(d,a,b)) #define INCLU(a,b,c,d) (RANGE(a,c,d) && (b,c,d)) #define POWT(x) ((x)*(x)) #define ALL(x) (x).begin(), (x).end() #define MODU 1000000007 #define bitcheck(a,b) ((a >> b) & 1) #define bitset(a,b) ( a |= (1 << b)) #define bitunset(a,b) (a &= ~(1 << b)) using namespace std; typedef pair<int, int> pii; typedef long long ll; const pii four_Dir[4] = { { -1 ,0 },{ 0 ,1 }, { 1 ,0 },{ 0,-1 } }; signed main() { char num1[201] = "", num2[201] = ""; scanf("%s %s", num1, num2); char sum[202] = "", kt[200][202] = { "" }, kake[401] = ""; REP(i, strlen(num1)) { num1[i] -= '0'; } REP(i, strlen(num2)) { num2[i] -= '0'; } REP(i, max(strlen(num1),strlen(num2))) { sum[i] = num1[i] + num2[i]; sum[i + 1] += sum[i]/10; sum[i] %=10; } REP(i, strlen(num1)) { REP(j, strlen(num2)) { kt[i][j] = num1[i] * num2[j]; kt[i][j + 1] += kt[i][j] / 10; kt[i][j] %= 10; } } REP(i, strlen(num1)) { REP(j, strlen(kt[i])) { kake[i] += kt[i][j + i]; } kake[i + 1] = kake[i] / 10; kake[i] %= 10; } if (strlen(sum) > strlen(kake)) { printf("S\n"); } else if (strlen(sum) < strlen(kake)) { printf("P\n"); return 0; } else { for (int i = strlen(sum) - 1; 0 <= i; i--) { if (sum[i] > kake[i]) { printf("S\n"); return 0; } if (sum[i] < kake[i]) { printf("P\n"); return 0; } } } printf("E\n"); return 0; }