結果
問題 | No.443 GCD of Permutation |
ユーザー |
|
提出日時 | 2025-01-25 15:52:19 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,046 bytes |
コンパイル時間 | 1,447 ms |
コンパイル使用メモリ | 161,408 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2025-01-25 15:52:22 |
合計ジャッジ時間 | 2,777 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 17 WA * 11 |
コンパイルメッセージ
main.cpp: In member function ‘void oi::solve()’: main.cpp:18:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 18 | scanf("%s",str); | ~~~~~^~~~~~~~~~
ソースコード
#include<bits/stdc++.h>using namespace std;#define intt long long#define untt unsigned intt#define mk make_pairtypedef pair<intt,intt>PII;typedef pair<double,double>PDD;inline intt read(){intt x=0,f=1;char ch=getchar();for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;for(;ch<='9'&&ch>='0';ch=getchar())x=x*10+ch-'0';return x*f;}inline void prin(intt x){if(x<0)putchar('-'),x=-x;if(x>9)prin(x/10);putchar(x%10+'0');return;}inline void print(intt x,intt fl){prin(x);if(fl)puts("");else printf(" ");return;}inline void frein(){freopen("1.in","r",stdin);return;}inline void freout(){freopen("1.ans","w",stdout);return;}inline intt power(intt a,intt lx,intt f){intt ans=1;while(lx){if(lx&1)ans=ans*a%f;a=a*a%f;lx>>=1;}return ans%f;}const intt N=1e6+10,INF=1e16,p=1e9+7;struct oi{char str[N];intt a[N];inline void solve(){scanf("%s",str);intt len=strlen(str);intt fl=1;for(int i=1;i<len;i++){if(str[i]!=str[i-1])fl=0;}if(fl){cout<<str<<endl;return;}fl=1;char n=0;for(int i=0;i<len;i++){if(str[i]=='0')continue;if(n!=str[i]&&n!=0)fl=0;n=str[i];}if(fl){printf("%c\n",n);return;}for(int i=0;i<len;i++)a[i]=str[i]-'0';intt ans=1;while(1){bool fl1=1,fl2=1;intt cnt=0;for(int i=0;i<len;i++){cnt+=a[i];if(a[i]%2==1)fl1=0;}if(cnt%3!=0)fl2=0;if(fl1==0&&fl2==0){print(ans,1);return;}if(fl1){for(int i=0;i<len;i++){a[i]/=2;}ans*=2;}if(fl2){for(int i=0;i<len;i++){a[i+1]+=(a[i]%3)*10;a[i]/=3;}ans*=3;}}}}T;int main(){T.solve();return 0;}