标签:style code cst math sqrt i++ 不能 ios ace
大意就是两个人掰树枝子玩,是个典型的博弈题,判断能不能被2整除就可以了
#include<cstdio> using namespace std; int main(){ long long int n,m,t; scanf("%lld",&n); if(n%2==0){ printf("Alice\n"); printf("1\n"); }else{ printf("Bob\n"); } }
读题读的很懵,简单讲就是输入一个n,之后找一个m,m满足两个条件,一个是m需要小于n,再一个m不能被任何平方数整除,一开始一直在考虑暴力会不会超时,结果写出来一试竟然不会,,,难啊
#include<cstdio> #include<algorithm> #include<iostream> #include<cmath> #include<cstring> using namespace std; int main(){ long long int m,n,sum,t,flag=0; scanf("%lld",&n); for(long long int i=2;i<=n-1;i++){ sum=n*i; t=sqrt(sum); for(long long int j=2;j<=t;j++){ if(sum%(j*j)==0){ flag=1; break; } } if(flag==1){ flag=0; continue; }else{ printf("%lld",i); break; } } }
未完待续(大概)
2020.3.21 Benelux Algorithm Programming Contest 2019 解题报告
标签:style code cst math sqrt i++ 不能 ios ace
原文地址:https://www.cnblogs.com/CCCCrack/p/12550110.html