B. Breaking Branches
解题思路:
看了半天才看懂什么意思QWQ,就判断一下奇数还是偶数就行了。
AC代码:
#include<math.h> #include<stdio.h> #include<algorithm> #include<iostream> #include <string.h> using namespace std; int main() { int n; cin>>n; if(n%2==0){ cout<<"Alice 1 ";//输出1 就完事 }else{ cout<<"Bob "; } return 0; }
E. Efficient Exchange
解题思路:
(不会dp的废物QWQ)
从最后一位开始算,
大于5,进1,sum=10-这位,,
小于5,sum直接加,,,
等于5,判断它的前一位,大于5还是小于5,大于进1,小于直接加
AC代码:
#include<math.h> #include<stdio.h> #include<algorithm> #include<iostream> #include <string.h> using namespace std; int main(){ string s1,s; s="00"; cin>>s1; s=s+s1; int i,j,n,k=0,sum=0,len; len =s.length(); for(i=len-1;i>=0;i--){ if(s.at(i)<'5'){ //小于五 sum+=s.at(i)-'0'; }else if(s.at(i)>'5'){ //大于五 sum+=10-(s.at(i)-'0'); if(i==0){ sum++; break; } n=i-1; while(1){ if(n==0){ k=1; break; } s.at(n)++; if(s.at(n)>'9'){ s.at(n)='0'; n--; }else{ break; } } }else{ //等于5 sum=sum+5; n=i-1; if(s.at(n)>='5'){ while(1){ if(n==0){ k=1; break; } s.at(n)++; if(s.at(n)>'9'){ s.at(n)='0'; n--; }else{ break; } } } } } cout<<sum<<endl; return 0; }
J. Jazz it Up!
解题思路:
给定一个数n,求一个比它小的数m,使m*n不含k^2这种因子
AC代码:
#include<math.h> #include<stdio.h> #include<algorithm> #include<iostream> #include <string.h> using namespace std; int main() { int n,i,j,m,k; cin>>n; for(i=2;i<n;i++){ for(j=2;j<=sqrt(n*i);j++){ k=(n*i)/(j*j); if(k*j*j == n*i){//判断能不能整除 break; } } if(j>sqrt(n*i)){ cout<<i; return 0; } } return 0; }