头像

zhangas2

博客zhangas2.github.io




离线:13小时前


最近来访(76)
用户头像
saluta
用户头像
烟台陈坤
用户头像
一半醒
用户头像
Lloyd_Gabriel_Lmd
用户头像
Tom12
用户头像
夏望繁星
用户头像
迎难而上
用户头像
Sweet_Tian
用户头像
Wu.
用户头像
clumsy
用户头像
为我小菜逼留点爱吧
用户头像
Justine
用户头像
草驴
用户头像
StkOvflow
用户头像
种花家的市长
用户头像
昼酒
用户头像
查干湖胖头怪
用户头像
力气韩
用户头像
Fatin
用户头像
qiaoshuWang

活动打卡代码 AcWing 2066. 解码

#include<iostream>
using namespace std;
int main(){
    string s;cin>>s;
    int n=s.size();
    for(int i=0;i<n;i++){
        if(s[i+1]>='0' && s[i+1]<='9'){
            for(int j=0;j<s[i+1]-'0';j++){
                cout<<s[i];
            }
            i++;
        }
        else cout<<s[i];
    }
    return 0;
}


活动打卡代码 AcWing 2065. 整除序列

n =int(input())
print(n,end=" ")
while 1:
    t=int(n/2);
    if t == 0:
        break
    n/=2;
    print(t,end=" ")


活动打卡代码 AcWing 1209. 带分数

#include<iostream>
#include<string.h>
using namespace std;
int n;
int ans;
int vis[20],temp[20];
bool check(int a,int c){
    int b=c*(n-a);
    if(!b||!a||!c)return false;

    memcpy(temp,vis,sizeof(vis));
    while(b){
        int t=b%10;
        b/=10;
        if(temp[t]||!t)return false;
        temp[t]=1;
    }

    for(int i=1;i<=9;i++){
        if(!temp[i])return false;
    }
    return true;

}
void dfs_c(int u,int a,int c){
    if(u==n)return;

    if(check(a,c))ans++;

    for(int i=1;i<=9;i++){
        if(!vis[i]){
            vis[i]=1;
            dfs_c(u+1,a,c*10+i);
            vis[i]=0;
        }
    }
}
void dfs_a(int u,int a){
    if(a>=n)return;//n == a + b / c 

    dfs_c(u,a,0);
    for(int i=1;i<=9;i++){
        if(!vis[i]){
            vis[i]=1;
            dfs_a(u+1,a*10+i);
            vis[i]=0;
        }
    }
}
int main(){
    cin>>n;
    dfs_a(0,0);
    cout<<ans;
    return 0;
}



#include<iostream>
using namespace std;
int n,m;
int path[30];
void dfs(int u,int start){
    if(u-1+(m-start+1)<n)return;
    if(u==n+1){
        for(int i=1;i<=n;i++)cout<<path[i]<<' ';
        cout<<'\n';
        return;
    }
    for(int i=start;i<=m;i++){
        path[u]=i;
        dfs(u+1,i+1);
        path[u]=0;
    }
}
int main(){
    cin>>m>>n;
    dfs(1,1);
    return 0;
}



#include<iostream>
#include<vector>
using namespace std;
int n;
int vis[10];
int path[10];
void dfs(int u){
    if(u>n){
        for(int i=1;i<=n;i++){
            cout<<path[i]<<' ';
        }
        cout<<'\n';
        return;
    }
    for(int i=1;i<=n;i++){
        if(vis[i]==0){
            path[u]=i;
            vis[i]=1;
            dfs(u+1);
            vis[i]=0;
            path[u]=0;
        }
    }
}
int main(){
    cin>>n;
    dfs(1);
    return 0;
}



#include<iostream>
#include<vector>
using namespace std;
int n;
int vis[20];

void dfs(int u){
    if(u==n){
        for(int i=1;i<=n;i++){
            if(vis[i]==1)cout<<i<<' ';
        }
        cout<<'\n';
        return;
    }
    dfs(u+1);

    vis[u+1]=1;
    dfs(u+1);
    vis[u+1]=0;
}
int main(){
    cin>>n;
    dfs(0);
    return 0;
}


活动打卡代码 AcWing 4802. 金明的假期

#include<iostream>
#include<string.h>
#define endl '\n'
//#define int long long 
using namespace std;
typedef long long ll;


inline int read(){
    int x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){
        if(c=='-') f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+c-'0',c=getchar();
    return x*f;}
int a[105];
int main(){
    int n=read();
    for(int i=0;i<n;i++){
        a[i]=read();
    }
    int cnt=0;
    if(a[0]==0)cnt++;
    for(int i=1;i<n;i++){
        if(a[i]==0)cnt++;
        else if(a[i]==1&&a[i-1]==1){
            a[i]=0;cnt++;
        }
        else if(a[i]==2&&a[i-1]==2){
            a[i]=0;cnt++;
        }
        else{
            if(a[i-1]==1)a[i]=2;
            else if(a[i-1]==2)a[i]=1;

        }
    }
    cout<<cnt;
    return 0;
}




两种情况 检查四个角

读完题 注意排序方式 围成一个长方形即可

    <-
|       ^
v       |
    ->
OR

     ->
^       |
|       v

     <-

code

#include<iostream>
#include<string.h>
#define endl '\n'
//#define int long long 
using namespace std;
typedef long long ll;


inline int read(){
    int x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){
        if(c=='-') f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+c-'0',c=getchar();
    return x*f;}
int a[105];
int main(){
    int n,m;cin>>n>>m;
    string s1,s2;cin>>s1>>s2;
    if(s1[0]=='<'&&s1[n-1]=='>'&&s2[0]=='v'&&s2[m-1]=='^'){
        cout<<"YES";
    }
    else if(s1[0]=='>'&&s1[n-1]=='<'&&s2[0]=='^'&&s2[m-1]=='v'){
        cout<<"YES";
    }
    else cout<<"NO";
    return 0;
}


活动打卡代码 AcWing 4801. 强连通图

#include<iostream>
#include<string.h>
#define endl '\n'
//#define int long long 
using namespace std;
typedef long long ll;


inline int read(){
    int x=0,f=1;char c=getchar();
    while(c<'0'||c>'9'){
        if(c=='-') f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+c-'0',c=getchar();
    return x*f;}
int a[105];
int main(){
    int n,m;cin>>n>>m;
    string s1,s2;cin>>s1>>s2;
    if(s1[0]=='<'&&s1[n-1]=='>'&&s2[0]=='v'&&s2[m-1]=='^'){
        cout<<"YES";
    }
    else if(s1[0]=='>'&&s1[n-1]=='<'&&s2[0]=='^'&&s2[m-1]=='v'){
        cout<<"YES";
    }
    else cout<<"NO";
    return 0;
}


活动打卡代码 AcWing 664. 三角形

s = input().split()

a,b,c = float(s[0]),float(s[1]),float(s[2])
if (a+b>c and b+c>a and c+a>b):
    print("Perimetro =",f'{a + b + c:.1f}')
else:
    print("Area =",f'{(a + b) * c / 2.0:.1f}')