a-e非常签到
a
import tkinter
root = tkinter.Tk()
root.geometry("1200x800")
mem0=tkinter.StringVar()
for i in range(1,8):
exec (f"mem{i}=tkinter.StringVar()")
mem=[eval(f"mem{i}") for i in range(8) ] # mem=[mem0,mem1,mem2,mem3.....mem7]
for i in range(0,4):
exec (f"var{i}=tkinter.StringVar()")
var=[eval(f"var{i}") for i in range(4) ] # var=[var0,var1,var2,var3]
for i in range(0,10):
exec (f"rank{i}=tkinter.StringVar()")
rank=[eval(f"rank{i}") for i in range(10) ] # rank=[rank0,....]
def input_num(n):
pass
def game_start():
pass
def guess_num():
pass
bn0=tkinter.Button(root,text="0",bg="pink",command=lambda :input_num("0"))
bn0.place(x=30,y=700,width=40,height=40)
for i in range(1,10):
exec('bn{}=tkinter.Button(root,text="{}",bg="pink",command=lambda :input_num("{}"))'.format(i,i,i))
exec('bn{}.place(x=30+{}*60,y=700,width=40,height=40)'.format(i,i))
bn_start = tkinter.Button(root,text="开始/重新开始",bg="pink",command=lambda :game_start())
bn_start.place(x=30,y=600,width=280,height=80)
bn_sure = tkinter.Button(root,text="确定",bg="pink",command=lambda :guess_num())
bn_sure.place(x=330,y=600,width=280,height=80)
lb_mem0=tkinter.Label(root,textvariable=mem0,bg="pink")
lb_mem0.place(x=30,y=300,width=280,height=50)
for i in range(1,4):
exec('lb_mem{}=tkinter.Label(root,textvariable=mem{},bg="pink")'.format(i,i))
exec ('lb_mem{}.place(x=30,y=300+{}*70,width=280,height=50)'.format(i,i))
for i in range(4,8):
exec('lb_mem{}=tkinter.Label(root,textvariable=mem{},bg="pink")'.format(i,i))
exec ('lb_mem{}.place(x=330,y=300+{}*70,width=280,height=50)'.format(i,i-4))
for i in range(0,4):
exec('lb{}=tkinter.Label(root,textvariable=var{},bg="pink")'.format(i,i))
exec ('lb{}.place(x=30+150*{},y=100,width=130,height=130)'.format(i,i))
lb_rank_title=tkinter.Label(root,text="姓名 尝试次数 耗时",bg="pink")
lb_rank_title.place(x=700,y=100,width=400,height=50)
for i in range(0,10):
exec('lb_rank{}=tkinter.Label(root,textvariable=rank{},bg="pink")'.format(i,i))
exec ('lb_rank{}.place(x=700,y=160+{}*60,width=400,height=50)'.format(i,i))
root.mainloop()
b
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
typedef pair<int, int> pii;
#define N 250005
#define endl '\n'
int mod=1e9+7;
int a[N];
void solve() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
string s;
cin>>s;
int len=s.length()-1;
int ans=0;
int now=1;
for(int i=0;i<=len;i++){
char c=s[i];
if(c=='R'){
now=min(now+1,n);
}
else{
now=max(now-1,1ll);
}
ans+=a[now];
ans%=mod;
//cout<<c<<" "<<now<<'\n';
}
cout<<ans;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
c
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
typedef pair<int, int> pii;
#define N 250005
#define endl '\n'
int mod=998244353;
int a[N];
void solve() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
set<int>s;
if(n&1){
s.insert(a[n]);
int l=1,r=n-1;
while(l<=r){
s.insert(a[l]*a[r]);
l++;
r--;
}
}
else{
int l=1,r=n;
while(l<=r){
s.insert(a[l]*a[r]);
l++;
r--;
}
}
cout<<*s.rbegin()-*s.begin();
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
d
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
typedef pair<int, int> pii;
#define N 250005
#define endl '\n'
int mod=998244353;
vector<int> a[N];
int c[N];
int mx;
int ans=0;
void dfs(int u,int fa,int sum){
mx=max(mx,sum);
c[u]+=1;
for(auto v:a[u]){
if(v==fa) continue;
dfs(v,u,sum+1);
if(c[v]%2==0){
ans++;
}
else{
c[u]+=c[v];
}
}
}
void solve() {
int n;
cin>>n;
for(int i=1;i<=n-1;i++){
int u,v;
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
dfs(1,0,1);
if(c[1]%2==1){
cout<<-1;
}
else{
cout<<ans;
// cout<<-1;
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
e
dp
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+6;
namespace modnum_space {
typedef long long ll;
const ll pmod = 1e9+7;
struct modnum;
modnum inv(modnum a);
ll exgcd(ll a, ll b, ll &x, ll &y);
modnum qpow(modnum a, modnum b, modnum p);
struct modnum {
ll val;
modnum(){ val = 0; }
modnum(ll a) { val = (a%pmod+pmod)%pmod; }
modnum(int a) { val = (a%pmod+pmod)%pmod; }
friend modnum operator + (const modnum &a, const modnum &b){ return (a.val+b.val)%pmod; }
friend modnum operator - (const modnum &a, const modnum &b){ return (a.val-b.val+pmod)%pmod; }
friend modnum operator * (const modnum &a, const modnum &b){ return (a.val*b.val)%pmod; }
friend modnum operator / (const modnum &a, const modnum &b){ return (a.val*inv(b.val)).val%pmod; }
friend modnum& operator += (modnum &a, const modnum &b){ return a = a+b; }
friend modnum& operator -= (modnum &a, const modnum &b){ return a = a-b; }
friend modnum& operator *= (modnum &a, const modnum &b){ return a = a*b; }
friend modnum& operator /= (modnum &a, const modnum &b){ return a = a/b; }
};
modnum inv(modnum a)
{
ll x, y;
exgcd(a.val, pmod, x, y);
x = (x%pmod+pmod)%pmod;
return x;
}
modnum qpow(modnum a, ll b)
{
modnum ans = 1;
for(; b; b >>= 1, a *= a)
if(b&1) ans *= a;
return ans;
}
ll exgcd(ll a, ll b, ll &x, ll &y)
{
if(b == 0){ return x = 1, y = 0, a; }
ll d = exgcd(b, a%b, x, y);
ll z = x; x = y; y = z-(a/b)*y;
return d;
}
#ifdef _GLIBCXX_IOSTREAM
std::istream& operator >> (std::istream& cin, modnum &a)
{ cin >> a.val; a.val %= pmod; return cin; }
std::ostream& operator << (std::ostream& cout, modnum a)
{ cout << a.val; return cout; }
#endif
}
using namespace modnum_space;
#define z modnum
z dp[1005][1005];
z sl[1005][1005];
void solve() {
int n,k;
cin>>n>>k;
string s;
cin>>s;
s=' '+s;
z ans=0;
sl[0][0]=1;
for(int i=1;i<=n;i++){
sl[i][0]=1;
sl[i][1]=i;
for(int j=1;j<=min(i-1,k-1);j++){
sl[i][j+1]=sl[i-1][j];
sl[i][j+1]+=sl[i-1][j+1];
}
}
for(int i=1;i<=n;i++){
for(int j=0;j<=min(i-1,k-1);j++){
dp[i][j+1]=dp[i-1][j]*10+(sl[i-1][j])*(s[i]-'0');
dp[i][j+1]+=dp[i-1][j+1];
}
}
cout<<dp[n][k]<<'\n';//104+52+02+22
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--){
solve();
}
return 0;
}
f
概率dp,
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+6;
int mod=1e9+7;
namespace modnum_space {
typedef long long ll;
const ll pmod = 1e9+7;
struct modnum;
modnum inv(modnum a);
ll exgcd(ll a, ll b, ll &x, ll &y);
modnum qpow(modnum a, modnum b, modnum p);
struct modnum {
ll val;
modnum(){ val = 0; }
modnum(ll a) { val = (a%pmod+pmod)%pmod; }
modnum(int a) { val = (a%pmod+pmod)%pmod; }
friend modnum operator + (const modnum &a, const modnum &b){ return (a.val+b.val)%pmod; }
friend modnum operator - (const modnum &a, const modnum &b){ return (a.val-b.val+pmod)%pmod; }
friend modnum operator * (const modnum &a, const modnum &b){ return (a.val*b.val)%pmod; }
friend modnum operator / (const modnum &a, const modnum &b){ return (a.val*inv(b.val)).val%pmod; }
friend modnum& operator += (modnum &a, const modnum &b){ return a = a+b; }
friend modnum& operator -= (modnum &a, const modnum &b){ return a = a-b; }
friend modnum& operator *= (modnum &a, const modnum &b){ return a = a*b; }
friend modnum& operator /= (modnum &a, const modnum &b){ return a = a/b; }
};
modnum inv(modnum a)
{
ll x, y;
exgcd(a.val, pmod, x, y);
x = (x%pmod+pmod)%pmod;
return x;
}
modnum qpow(modnum a, ll b)
{
modnum ans = 1;
for(; b; b >>= 1, a *= a)
if(b&1) ans *= a;
return ans;
}
ll exgcd(ll a, ll b, ll &x, ll &y)
{
if(b == 0){ return x = 1, y = 0, a; }
ll d = exgcd(b, a%b, x, y);
ll z = x; x = y; y = z-(a/b)*y;
return d;
}
#ifdef _GLIBCXX_IOSTREAM
std::istream& operator >> (std::istream& cin, modnum &a)
{ cin >> a.val; a.val %= pmod; return cin; }
std::ostream& operator << (std::ostream& cout, modnum a)
{ cout << a.val; return cout; }
#endif
}
using namespace modnum_space;
#define z modnum
z dp[100][100];
inline ll power(ll a,ll b,ll mod){
if(b==0){
return 1;
}
ll res = 1;
while(b>0){
if(b&1){
res = (res*a)%mod;
}
a= (a*a)%mod;
b>>=1;
}
return res;
}
void solve() {
ll n;
cin>>n;
int x=0,y=0;
while(n%2==0){
x++;
n/=2;
}
while(n%3==0){
y++;
n/=3;
}
if(n!=1){
cout<<-1;
return;
}
ll dm=power(2,mod-2,mod);
for(int i=0;i<=x;i++){
for(int j=0;j<=y;j++){
if(i&&j)
dp[i][j]=(3+dp[i][j-1]+dp[i-1][j])*dm;
else if(i){
dp[i][j]=(3+dp[i-1][j]);
}
else if(j)
{
dp[i][j]=(3+dp[i][j-1]);
}
}
}
//cout<<x<<' '<<y<<'\n';
cout<<dp[x][y];
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--){
solve();
}
return 0;
}