Submission #28551916
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for (int i=a;i<n;i++)//iをaからn
#define per(i,n,a) for (int i=a-1;i>=n;i--)//iをnからa
#define db(x) cout << #x << " = " << x << endl//デバッグ用
#define db2(x, y) cout << "(" << #x << ", " << #y << ") = (" << x << ", " << y << ")\n"; //デバッグ用
#define all(x) (x).begin(), (x).end()
#define INF32 2147483647 //2.147483647×10^{9}:32bit整数のinf
#define INF64 9223372036854775807 //9.223372036854775807×10^{18}:64bit整数のinf
#define MOD 998244353 //10^9+7:合同式の法
#define pb push_back
#define mp make_pair
#define F first
#define S second
typedef long long ll;
//sort(all(a)); ソート
//sort(all(a),greater<int>()); 逆順ソート
//a.erase(unique(all(a)), a.end()); ソート後に重複を削除
//cout<< std::fixed << std::setprecision(15)<<0.000001<<endl; 小数点以下を表示させる
//vector<vector<int>> data(3, vector<int>(4)); int型の2次元配列(3×4要素の)の宣言
int rota(int n){
int keta=1;
int nnn=n;
while(nnn/10){
nnn/=10;
keta*=10;
}
return n/10+(n%10)*keta;
}
int main (){
ll a,n;
set<int> nums;
vector<int> nownums;
cin>>a>>n;
int ans=MOD;
nownums.pb(1);
rep(i,0,1000000){
set<int> nextnums;
rep(j,0,nownums.size()){
ll nown=nownums.at(j);
if(nown*a<n*11){
if(nums.count(nown*a)==0){
nextnums.insert(nown*a);
}
}
if(nown%10!=0){
ll nextn=rota(nown);
if(nums.count(nextn)==0){
nextnums.insert(nextn);
}
}
}
if(nextnums.count(n)!=0){
ans=i+1;
break;
}
if(nextnums.empty()){
break;
}
vector<int> vec(nextnums.begin(), nextnums.end());
nownums=vec;
nums.merge(nextnums);
}
if(ans==MOD){
cout<<-1;
}else{
cout<<ans;
}
return 0;
}
Submission Info
Submission Time |
|
Task |
D - Multiply and Rotate |
User |
naname |
Language |
C++ (GCC 9.2.1) |
Score |
0 |
Code Size |
2114 Byte |
Status |
TLE |
Exec Time |
2208 ms |
Memory |
85404 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:3:34: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
3 | #define rep(i,a,n) for (int i=a;i<n;i++)//iをaからn
......
42 | rep(j,0,nownums.size()){
| ~~~~~~~~~~~~~~~~~~
./Main.cpp:42:8: note: in expansion of macro ‘rep’
42 | rep(j,0,nownums.size()){
| ^~~
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
All |
00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_a_eq_2_00.txt, 01_a_eq_2_01.txt, 01_a_eq_2_02.txt, 01_a_eq_2_03.txt, 01_a_eq_2_04.txt, 01_a_eq_2_05.txt, 02_a_eq_3_00.txt, 02_a_eq_3_01.txt, 02_a_eq_3_02.txt, 03_random_00.txt, 03_random_01.txt, 03_random_02.txt, 03_random_03.txt, 04_max_00.txt, 05_min_00.txt |
Case Name |
Status |
Exec Time |
Memory |
00_sample_00.txt |
AC |
7 ms |
3464 KiB |
00_sample_01.txt |
AC |
3 ms |
3544 KiB |
00_sample_02.txt |
AC |
4 ms |
3420 KiB |
00_sample_03.txt |
AC |
1673 ms |
60412 KiB |
01_a_eq_2_00.txt |
TLE |
2045 ms |
78268 KiB |
01_a_eq_2_01.txt |
TLE |
2085 ms |
71496 KiB |
01_a_eq_2_02.txt |
AC |
283 ms |
22148 KiB |
01_a_eq_2_03.txt |
TLE |
2208 ms |
85404 KiB |
01_a_eq_2_04.txt |
AC |
1423 ms |
54908 KiB |
01_a_eq_2_05.txt |
AC |
1633 ms |
60276 KiB |
02_a_eq_3_00.txt |
AC |
19 ms |
5120 KiB |
02_a_eq_3_01.txt |
AC |
67 ms |
8332 KiB |
02_a_eq_3_02.txt |
AC |
115 ms |
11064 KiB |
03_random_00.txt |
AC |
2 ms |
3480 KiB |
03_random_01.txt |
AC |
2 ms |
3620 KiB |
03_random_02.txt |
AC |
3 ms |
3536 KiB |
03_random_03.txt |
AC |
2 ms |
3588 KiB |
04_max_00.txt |
AC |
2 ms |
3488 KiB |
05_min_00.txt |
AC |
2 ms |
3512 KiB |