A
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
int a[];
int main()
{
int i,j,n,u,v;
int s1=,s2=,num=;
scanf("%d",&n);
for(i = ; i <= n ; i++)
{
scanf("%d%d",&u,&v);
if((u%==&&v%!=)||(u%!=&&v%==))
num++;
s1+=u;
s2+=v;
}
if(s1%==&&s2%==)
{
printf("0\n");
}
else if(s1%!=&&s2%!=)
{
if(num)
printf("1\n");
else
printf("-1\n");
}
else
printf("-1\n");
return ;
}
B 构造一下。。乱弄了下
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
#define N 210
int n,a[N],f[N],o[N];
int main()
{
int i,j;
scanf("%d",&n);
for(i =; i <= *n ; i++)
{
scanf("%d",&a[i]);
f[a[i]]++;
}
int s1=,s2=,num=;
for(i = ; i <= ; i++)
if(f[i]>=)
{
if(f[i]%==)
{
s1+=f[i]/-;
}
else
{
s1+=f[i]/-;
s2++;
}
}
else if(f[i]==)
num++;
int k1 = s2/,k2 = n-s1-s2/;
int ans = (n-s1-s2/)*(n-s1-(s2-s2/));
num = (num+)/;
// printf("")
for(i = ; i <= *n ; i++)
{
if(f[a[i]]==)
{
o[i] = ;
num--;
}
if(num==)
break;
}
for(i = ; i <= *n ; i++)
{
if(f[a[i]]>=)
{
int kk;
if(k1&&f[a[i]]%!=)
{
kk = f[a[i]]/+;
k1--;
}
else
kk = f[a[i]]/;
for(j = ; j <= *n ; j++)
{
if(a[j]==a[i])
{
kk--;
o[j] = ;
}
if(kk==)
break;
}
f[a[i]] = ;
}
}
printf("%d\n",ans);
for(i = ; i < *n ; i++)
if(o[i]==)
printf("1 ");
else
printf("2 ");
if(o[*n]==)
printf("1\n");
else
printf("2\n");
return ;
}
C 枚举1的位置 变为0后 后面全取1 一个很2的错误WA了2 次
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
#define N 100010
#define LL __int64
int a[N];
LL sum[N];
char s[N];
int main()
{
int i,j,n;
scanf("%d",&n);
for(i = ; i < n ; i++)
scanf("%d",&a[i]);
cin>>s;
int k=-;
LL ss=,maxz=;
for(i = ; i < n ;i++)
{
if(s[i]=='')
{
ss+=a[i];
if(i==)
sum[i] = a[i];
else
sum[i]=sum[i-]+a[i];
k = i;
}
else
if(i!=)
sum[i] = sum[i-];
}
if(k==-)
printf("0\n");
else
{
maxz = max(maxz,ss);
int tsum=;
for(i = ; i <= k ; i++)
{
if(s[i]=='')
{
maxz = max(sum[k]-sum[i]+tsum,maxz);
}
tsum+=a[i];
}
printf("%I64d\n",maxz);
}
return ;
}