B Breaking Branches 

 1.题意

  给定长度为n的线段,Alice和Bob轮流切割线段使之成为两个整数段,进行最后一次切割操作的人获胜,规定Alice先手。

 2.题解

  博弈题,但当时没想到。找规律发现当n为奇数时,先手输,即Bob胜,当n为偶数时,Alice先割去1,此时n-1为奇数,Bob为先手,即Alice胜。

 3.代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n; 
 4 int main(){    
 5     cin>>n;    
 6     if(n%2) 
 7         cout<<"Bob"<<endl;    
 8     else{
 9         cout<<"Alice"<<endl;  
10         cout<<1<<endl; 
11     }      
12         
13     return 0; 
14 }

 

J Jazz it Up

 1.题意

  给定一个无平方因子的正整数n,判断是否存在一个正整数m满足n*m不含平方因子且1<m<n。

 2.题解

  有简单的方法,但是暴力也能过。

 3.代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,sum;
 4 bool f(int num){
 5     for(int i=2;i<=sqrt(num);i++)
 6         if(num%(i*i)==0)
 7             return true;
 8     return false;
 9 }
10 int main(){
11     cin>>n;
12     for(int i=2;i<n;i++){
13         sum=i*n;
14         if(f(i*n)==false){
15             cout<<i<<endl;
16             break;
17         }
18     }
19     
20     return 0;
21 }

 

posted on 2020-03-24 14:26  吕瓜皮  阅读(182)  评论(0编辑  收藏  举报