题目链接:AcWing 4609. 火柴棍数字
#include
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
const int base=131;
#define x first
#define y second
#define int long long
#define lb long double
#define ull unsigned long long
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}//最低位1及其后面的0构成的数值
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
void solve()
{
cin>>n;
if(n%2)
{
cout<<7;
n-=3;
}
rep(i,1,n/2)cout<<1;
cout<<endl;
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}
题目链接: AcWing 4610. 列表排序
#include
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
const int base=131;
#define x first
#define y second
#define int long long
#define lb long double
#define ull unsigned long long
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}//最低位1及其后面的0构成的数值
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n,m;
void solve()
{
cin>>n>>m;
vector<vector<int>>v(n+1,vector<int>(m+1));
rep(i,1,n)
rep(j,1,m)cin>>v[i][j];
rep(i,1,m)
rep(j,i,m)
{
rep(k,1,n)swap(v[k][i],v[k][j]);
int f=1;
rep(k,1,n)
{
int cnt=0;
rep(o,1,m)
if(v[k][o]!=o)cnt++;
f&=(cnt<=2);
}
if(f)
{
cout<<"YES"<<endl;
return;
}
rep(k,1,n)swap(v[k][i],v[k][j]);
}
cout<<"NO"<<endl;
}
signed main()
{
io;
int _;_=1;
//cin>>_;
while(_--)solve();
return 0;
}
题目链接:AcWing 4611. 串联数字
#include
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
const int base=131;
#define x first
#define y second
#define int long long
#define lb long double
#define ull unsigned long long
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}//最低位1及其后面的0构成的数值
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
const int N=2e5+10;
int a[N];
int cnt[N];
map<int,int>mp[11];
int n,m;
void solve()
{
cin>>n>>m;
rep(i,1,n)cin>>a[i];
rep(i,1,n)
{
int t=a[i]%m;
int len=to_string(a[i]).size();
cnt[i]=len;
mp[cnt[i]][a[i]%m]++;
}
int res=0;
rep(i,1,n)
{
int x=a[i];
rep(j,1,10)
{
x = x*10%m;
if(mp[j].find((m-x)%m)!= mp[j].end())
{
res+=mp[j][(m-x)%m];
int len=cnt[i];
if(len==j&&a[i]%m==(m-x)%m)--res;//特判
}
}
}
cout<<res<<endl;
}
signed main()
{
io;
int _;_=1;
//cin>>_;
while(_--)solve();
return 0;
}