51,716
社区成员




1.
#include <iostream>
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int res;
int check1(int x)
{
int res=0;
while(x)
{
res+=x%10;
x/=10;
}
return res;
}
int main()
{
for(int i=1900; i<=9999; i++)
{
if((i%4==0 && i%100!=0) || i%400==0) a[2]=29;
else a[2]=28;
for(int j=1; j<=12; j++)
for(int k=1; k<=a[j]; k++)
{
if(check1(i)==check1(j)+check1(k)) res++;
}
}
cout<<res;
return 0;
}
2.
#include <iostream>
using namespace std;
int main()
{
cout<<502-8;
return 0;
}
3.
//暴力过6个点
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int n,m;
int a[N];
int main()
{
cin>>n>>m;
for(int i=0; i<n; i++) a[i]=i+1;
while(m--)
{
char op;
int x;
cin>>op>>x;
if(op=='L')
{
int t;
for(int i=0; i<n; i++)
if(a[i]==x)
{
t=i;
break;
}
for(int i=t-1; i>=0; i--)
a[i+1]=a[i];
a[0]=x;
}
else
{
int t;
for(int i=0; i<n; i++)
if(a[i]==x)
{
t=i;
break;
}
for(int i=t; i<n-1; i++)
a[i]=a[i+1];
a[n-1]=x;
}
}
for(int i=0; i<n; i++) cout<<a[i]<<" ";
return 0;
}
//正解(排序)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 2e5+10;
int n,m;
int cnt1=-1, cnt2=2e6;
int a[N];
struct Node
{
int idx, w;
bool operator < (const Node &W)
{
return idx<W.idx;
}
}node[N];
int main()
{
cin>>n>>m;
for(int i=1; i<=n; i++)
{
node[i].idx=i;
node[i].w=i;
}
while(m--)
{
char op;
int x;
cin>>op>>x;
if(op=='L') node[x].idx=cnt1--;
else node[x].idx=cnt2++;
}
sort(node+1,node+1+n);
for(int i=1; i<=n; i++) cout<<node[i].w<<" ";
return 0;
}
4.
#include <iostream>
using namespace std;
typedef long long LL;
const int N=1e5+10;
LL res;
int a[N];
int n,g;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int main()
{
cin>>n>>g;
for(int i=1; i<=n; i++)
{
int x;
cin>>x;
a[i]=(x%g==0);
a[i]+=a[i-1];
}
int j=0;
for(int i=1; i<=n; i++)
{
while(j<i && a[i]-a[j]<i-j-1) j++;
if(i-j>=2)res=res+(i-j-1);
}
cout<<res;
return 0;
}