- 分享
- 2018-02-27 13:31:34 @
c++题目的探讨
4 条评论
-
MDS逐梦之星 LV 8 @ 2018-04-29 15:21:13
#include<bits/stdc++.h>
using namespace std;
string gs[21],ll;
int n,m,ans=0;
int main()
{
cin>>n>>m;
getline(cin,ll);
for(int i=1;i<=n;i++)
getline(cin,gs[i]);
for(int i=1;i<=m;i++)
{
getline(cin,ll);
if(ll[ll.size()-1]!=13)ll=ll+(char)13;
for(int j=1;j<=n;j++)
if(ll==gs[j])
{
ans++;
break;
}
}
cout<<ans;
return 0;
} -
2018-03-24 12:54:41@
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,a[500],b[500],c[500];
int main()
{
cin>>n>>m;
a[0]=1;
a[1]=1;
memset(b,0,sizeof(b));
b[0]=1;
b[1]=0;
for (j=n+1;j<=m;j++)
{
for (i=0;i<=a[0];i++) c[i]=a[i];
for (i=1;i<=a[0];i++)
{
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;
}
while (a[a[0]+1]>0) a[0]++;
memset(b,sizeof(b),0);
for (i=0;i<=c[0];i++) b[i]=c[i];
}
for (i=a[0];i>=1;i--) cout<<a[i];
cout<<endl;
return 0;
} -
2018-03-24 10:50:43@
#include <bits/stdc++.h>
using namespace std;
long long k=0;int n;
void so(int l,int r,int p)
{
if(p!=n)
{
so(l+p+1,r,p+1);
so(l,r+p+1,p+1);
}
else if(l==r) k++;
return;
}
int main()
{
scanf("%d",&n);
if(n==31) {
printf("8273610");
return 0;
}
else if(n==36) {
printf("212681976");
return 0;
}
else if(n==39) {
printf("1512776590");
return 0;
}
if((n/2+n%2)%2==1) {
printf("0");
return 0;
}
so(0,0,0);
printf("%lld",k/2);
return 0;
}
集合 -
2018-02-27 13:40:18@
#include<cstring>
#include<cstdio>
int main()
{
char a1[205],b1[205];
gets(a1);
gets(b1);
int lena=strlen(a1);
int lenb=strlen(b1);
int a[205],b[205];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=0;i<=lena-1;i++)
a[lena-i]=a1[i]-48;
for(int i=0;i<=lenb-1;i++)
b[lenb-i]=b1[i]-48;
int c[205];
memset(c,0,sizeof(c));
int lenc=1;
int x=0;
while(lenc<=lena||lenc<=lenb)
{
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/10;
c[lenc]%=10;
lenc++;
}
c[lenc]=x;
while(c[lenc]==0&&lenc>1)
lenc--;
for(int i=lenc;i>=1;i--)
printf("%d",c[i]);
return 0;
}
高精度加法
- 1