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;
}
tle
技术图片
#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;
}
accept

以上告诉我们,要学会优化!

以上是关于Comet_oj_#0_A的主要内容,如果未能解决你的问题,请参考以下文章

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘(代码片段

BZOJ2339HNOI2011卡农

hihocoder第233周

VSCode 配置 用户自定义代码片段 自定义自动代码补充

[AndroidStudio]_[初级]_[配置自动完成的代码片段]