Comet_oj_#0_A
Posted ean1zhi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Comet_oj_#0_A相关的知识,希望对你有一定的参考价值。
这道题通过简化方程可得,当n为平方数的时候,解为无穷,当%4不为0时为0 0;计算
但是要小心,这道题的代码要经过优化。一下为两种代码,一个tle,一个accept。
#include<iostream> #include<cmath> using namespace std; typedef long long ll; const ll mod=1e9+7; int main() { int t; ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>t; while(t--) { ll n; cin>>n; double k=sqrt(n); if(k==(int)k) { cout<<"infty"<<endl; continue; } if(n%4!=0){ cout<<0<<" "<<0<<endl; continue; }else { int cnt=0; ll ans=0ll; n/=4; int m=sqrt(n); for(ll i=1;i<=m;i++) { if((n%i)==0) { ans+=n*(i+n/i); ans%=mod; cnt++; } } cout<<cnt<<" "<<ans<<endl; } } return 0; }
#include<iostream> #include<cmath> using namespace std; typedef long long ll; const ll mod=1e9+7; int main() { //freopen("D:common_textcode_streamin.txt","r",stdin); //freopen("D:common_textcode_streamout.txt","w",stdout); int t; ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>t; while(t--) { int n; cin>>n; double k=sqrt(n); if(k==(int)k) { cout<<"infty"<<endl; continue; } if(n%4!=0){ cout<<0<<" "<<0<<endl; continue; }else { int cnt=0; ll ans=0ll; n/=4; int x,y,z; int m=sqrt(n); for(int i=1;i<=m;i++) { if((n%i)==0) { ans+=1ll*n*(i+n/i); ans%=mod; cnt++; } } cout<<cnt<<" "<<ans<<endl; } } return 0; }
以上告诉我们,要学会优化!
以上是关于Comet_oj_#0_A的主要内容,如果未能解决你的问题,请参考以下文章
[AndroidStudio]_[初级]_[配置自动完成的代码片段]
imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘(代码片段