标签:des 水过 cout while ble 输入 turn output std
小X上课的时候喝了一大壶水,午饭后他极限跑回宿舍上厕所,结果发现不知道哪个逗比舍友在宿舍门上加了一把4位密码锁,然后还留了纸条:密码是6666,小X只能一个一个地转动数字解锁。 假设密码锁每一位有数字0-9,小X还能憋10秒钟,而每转动一个数字就会耗费一秒钟(如从2222转到2322),当锁被开时,小X能瞬间到达厕所。
输入包含多组数据,每组输入包含一个位正整数n,表示当前密码.
对于每组输入,如果小X能够在极限之前(包括10秒)上厕所,则输出“ok”(不包含引号),否则输出“gg”(不包含引号)
3960 1111
ok gg hint:n=3960时,小X需要转动3+3+0+4=10次,可以上厕所。
解题思路:水题!取出每一位数字,将其转成‘6‘所需的最少次数,水过!
AC代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int n,sum; 6 while(cin>>n){ 7 sum=0; 8 while(n){ 9 sum+=abs((n%10+9)%10-5); 10 n/=10; 11 } 12 if(sum>10)cout<<"gg"<<endl; 13 else cout<<"ok"<<endl; 14 } 15 return 0; 16 }
标签:des 水过 cout while ble 输入 turn output std
原文地址:https://www.cnblogs.com/acgoto/p/9055481.html