L - 智乃的36倍数(easy version)
原题链接 :L-智乃的36倍数(easy version)_2024牛客寒假算法基础集训营3 (nowcoder.com)
题意
代码 :
#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve()
{
int n,i=0;
cin>>n;
int a[1005]={0};
for(i=1;i<=n;i++)
{
cin>>a[i];
}
int ans=0;
for(i=1;i<n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(((a[i]*10+a[j])%36)==0)
ans++;
if(((a[j]*10+a[i])%36)==0&&a[j]*10+a[i]!=a[i]*10+a[j])
ans++;
}
}
cout<<ans<<endl;
}
signed main()
{
solve();
return 0;
}
M - 智乃的36倍数(normal version)
原题链接:M-智乃的36倍数(normal version)_2024牛客寒假算法基础集训营3 (nowcoder.com)
题意:
代码 :
#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve()
{ map<int,int>mp;
int n,i=0;
cin>>n;
int a[n+1],c[20]={0};
int t=10;
for(i=1;i<=18;i++)
{
c[i]=t%36;
t*=10;
}
int len[n+1];
for(i=1;i<=n;i++)
{
cin>>a[i];
string s=to_string(a[i]);
len[i]=s.size();
a[i]%=36;
mp[a[i]]++;
}
int ans=0;
for(i=1;i<=n;i++)
{
for(int j=0;j<36;j++)
{
if((j*c[len[i]]+a[i])%36==0)
{
ans+=mp[j];
if(j==a[i])ans--;
}
}
}
cout<<ans<<endl;
}
signed main()
{
solve();
return 0;
}
G- 智乃的比较函数(easy version)
原题链接:G-智乃的比较函数(easy version)_2024牛客寒假算法基础集训营3 (nowcoder.com)
代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
void solve()
{
int n;
cin>>n;
if(n==1)
{
int x,y,z;
cin>>x>>y>>z;
if(x==y&&z)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
else
{
int x,y,z,x1,y1,z1;
cin>>x>>y>>z>>x1>>y1>>z1;
if(x==x1&&y==y1&&(z!=z1))
cout<<"No"<<endl;
else if(x==y1&&y==x1&&(z&z1))//此处(z&z1)不能写成(z==z1)!!!因为(z&z1)表示当z和z1都取1的情况,例如x==y1==y==x1,z==z1==0时
cout<<"No"<<endl;
else if(x==y&&z||x1==y1&&z1)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
}
signed main()
{
int _;
cin>>_;
while(_--)
{
solve();
}
}