50,970
社区成员
发帖
与我相关
我的任务
分享
#include <bits/stdc++.h>
using namespace std;
int st[10];
vector<int>res;
int ans=0;
bool check(string ch) {
if(ch.size()!=9) return false;
vector<int>s(10,0);
for(int i=0;i<ch.size();i++) {
s[ch[i]-'0']++;
}
for(int i=1;i<=9;i++) {
if(!s[i]) return false;
}
return true;
}
void dfs(int v) {
if(v==10) {
int num=0;
for(auto v:res) num=num*10+v;
int flag=100000000,a=0;
for(int i=0;i<res.size();i++) {
num%=flag;
flag/=10;
a=a*10+res[i];
if(check(to_string(num*a))) ans++;
}
return;
}
for(int i=1;i<=9;i++) {
if(!st[i]) {
st[i]=1;
res.push_back(i);
dfs(v+1);
res.pop_back();
st[i]=0;
}
}
}
int main()
{
dfs(1);
cout<<ans/2<<endl;
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
string rev(string ch) {
reverse(ch.begin(),ch.end());
return ch;
}
int change1(int v) {
string ch=to_string(v);
ch+=rev(ch);
return stol(ch);
}
int change2(int v) {
string ch=to_string(v/10);
ch+=rev(to_string(v));
return stol(ch);
}
bool check(int v) {
string ch=to_string(v);
for(int i=1;i<ch.size();i++) {
if(ch[i]<ch[i-1]) return false;
}
return true;
}
signed main() {
int ans=0;
for(int i=1;i<=500000;i++) {
if(!check(i)) continue;
int res1=change1(i);
if(res1>=2022&&res1<=2022222022) ans++;
int res2=change2(i);
if(res2>=2022&&res2<=2022222022) ans++;
}
cout<<ans<<endl;
}
#include <iostream>
#include <algorithm>
using namespace std;
const int N=1e5+10;
int q[N];
int vv[N];
int n;
bool check(int v,int st) {
int a=(upper_bound(vv+1,vv+1+n,q[st]+v)-vv-1)-(lower_bound(vv+1,vv+1+n,q[st]+v)-vv-1);
int cnt1=lower_bound(vv+1,vv+1+n,q[st]+v)-vv-1;
int cnt2=n-cnt1-a;
if(v) cnt1--;
return cnt1>=cnt2;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) {
cin>>q[i];
vv[i]=q[i];
}
sort(vv+1,vv+1+n);
for(int i=1;i<=n;i++) {
int l=0,r=100010;
while(l<r) {
int mid=l+r>>1;
if(check(mid,i)) r=mid;
else l=mid+1;
}
cout<<r<<' ';
}
}
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,ans=1;
void fj(int v) {
int flag=sqrt(v);
for(int i=2;i<=flag;i++) {
if(v%i==0) {
int cnt=0;
while(v%i==0) {
v/=i;
cnt++;
}
if(cnt&1) ans*=i;
}
}
if(v!=1) ans*=v;
}
signed main()
{
cin>>n>>m;
fj(n);
cout<<ans<<endl;
return 0;
}