本文主要是介绍XGD算法设计上机考试(补充),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//最长公共子序列
char a[200],b[200];
int c[200][200]={},n,m;
int build()
{
int i,j;
for(j=1;j<=n;j++)
{
for(i=1;i<=m;i++)
{
if(a[j-1]==b[i-1]){c[j][i]=c[j-1][i-1]+1;}
else if(c[j-1][i]>=c[j][i-1]) c[j][i]=c[j-1][i];
else c[j][i]=c[j][i-1];
}
}
return c[n][m];
}
int main()
{
cin>>a>>b;
n=strlen(a);
m=strlen(b);
cout<<build()<<endl;
return 0;
}
//最大连续子序列和
int a[1000];
int s[1000],n;
int main()
{
int i,max1=0;
cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
s[0]=0;
for(i=1;i<=n;i++)
{
if(s[i-1]+a[i]>=a[i]) s[i]=a[i]+s[i-1];
else s[i]=a[i];
}
for(i=1;i<=n;i++)
{
if(s[i]>max1) max1=s[i];
}
cout<<max1<<endl;
return 0;
}
//活动安排
int s[1000],f[1000];
int main()
{
int i,j,n,cnt=1;
cin>>n;
for(i=0;i<n;i++)
{
cin>>s[i]>>f[i];
}
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(f[i]>f[j])
{
swap(s[i],s[j]);
swap(f[i],f[j]);
}
}
}
j=0;
for(i=1;i<n;i++)
{
if(s[i]>=f[j])
{
j=i;
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}
这篇关于XGD算法设计上机考试(补充)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!