namomo div2
1
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n;
char a[N][N];
char c;
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
if(i&1)c='+';
else c='.';
for(int j=i;j<=n-i+1;j++)
a[i][j]=c,
a[n-i+1][j]=c,
a[j][i]=c,
a[j][n-i+1]=c;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)cout<<a[i][j];
if(i!=n)cout<<'\n';
}
}
2
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1010;
int n;
int f[N][4];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
f[0][0]=1;
f[1][0]=1;
f[1][3]=1;
for(int i=2;i<=n;i++){
f[i][2]+=f[i-2][1];
f[i][1]+=f[i-2][0];
f[i][0]+=f[i-1][3];
f[i][3]+=f[i][0]+f[i][1]+f[i][2];
}
cout<<f[n][3];
}
3
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=110,M=1e6+10;
int n,m;
int a[N],b[N];
int ans[M];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
cin>>b[i];
}
ans[0]=1;
for(int i=1;i<=n;i++){
for(int j=1e5;j>=0;j--){
if(ans[j]==i)
ans[j+a[i]]=ans[j]+1,
ans[j+b[i]]=ans[j]+1;
}
}
for(int i=0;i<=m;i++){
if(ans[i]==n+1)cout<<1;
else cout<<0;
}
}
4
#include<bits/stdc++.h>
#define l second
#define r first
using namespace std;
typedef pair<int, int> PII;
set<PII>s;
int n,x;
void insert(int l,int r){
if(l>r)return;
s.insert({r,l});
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
insert(1,2e9);
for(int i=1;i<=n;i++){
cin>>x;
auto it=s.lower_bound({x,0});
int l=it->l,r=it->r;
if(l<=x){
cout<<x<<' ';
insert(l,x-1);
insert(x+1,r);
s.erase(it);
}
else{
cout<<l<<' ';
insert(l+1,r);
s.erase(it);
}
}
}