备用代码区

#include<bits/stdc++.h>
using namespace std;
int n,m,k,tot;
int mod=1000000007;
int c[1321][2132],f[2312][23123];
char a[300],b[300];
int work(){
    cin>>n>>k>>m;
    scanf("%s%s",a+1,b+1);
    for(int i=1;i<=n;i++)if(a[i]!=b[i])tot++;
    return tot;
}
int main()
{
    c[0][0]=1;
    for(int i=1;i<=100;i++){
        c[i][0]=1;
        for(int j=1;j<=i;j++)c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
    }
    f[0][work()]=1;
    for(int t=1;t<=k;t++)
    for(int i=0;i<=n;i++)
    for(int j=0;j<=min(i,m);j++)
    {
        int ta=i-2*j+m;
    if(ta>=0&&ta<=n)
    f[t][ta]=(f[t][ta]%mod+f[t-1][i]*(c[n-i][m-j]*c[i][j]%mod)%mod)%mod;
    }
    cout<<f[k][0];
}

P2618

#include<bits/stdc++.h>
using namespace std;
int n,cnt,temp,num[20000],f[1100000];
int main()
{
    while(cin>>n)
    {
        cnt=0;temp=n;
    for(int i=2;i<n;i++)
    {
        if(temp%i==0)
        {
            num[++cnt]=i;
            while(temp/i==0)temp/=i;
            if(temp==1)break;
        }
    }
    for(int i=1;i<=n;i++)f[i]=0x3f3f3f3f;
    f[n]=0;
    for(int i=n-1;i>=1;i--)
    for(int j=1;j<=cnt;j++)
    f[i]=min(f[i+1],f[i*num[j]])+1;        
    cout<<f[1]<<endl;
    }
    
}

P2182 

P2344

#include<bits/stdc++.h>
using namespace std;
const double PI = 3.1415926535;
int n,cnt,p=1e3;
double f,b,a;
int num[2000];
int ff[2000][2000];
string s;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>s;
        if(s[0]=='f'){cin>>a;f+=a;}
        if(s[0]=='b'){cin>>a;b+=a;}
        if(s[0]=='l'){cin>>a;num[++cnt]=-a;}
        if(s[0]=='r'){cin>>a;num[++cnt]=a;}
    }
    ff[0][0]=1;
    for(int i=1;i<=cnt;i++)
    for(int j=0;j<360;j++)
    if(ff[i-1][j])ff[i][j]=ff[i][(j+num[i]+3600)%360]=1;
    for(int j=0;j<360;j++)
    if(ff[cnt][j])
    {
        p=min(p,abs(j-180));
    }
    double ans=sqrt(f*f+b*b+2*b*f*cos(p*PI/180));
    printf("%.6f\n",ans);
    
}

猜你喜欢

转载自www.cnblogs.com/SFWR-YOU/p/10847730.html
今日推荐