G Icon Design
输出图标"NFLS"
#include<bits/stdc++.h>
using namespace std;
template <typename tn>void read(tn &n){
tn f=1,t=0;char ch=getchar();
while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
while (isdigit(ch)) t=t*10+ch-'0',ch=getchar();
n=f*t;
}
inline void out(int x){
if(x>9)out(x/10);
putchar(x%10+'0');
}
int n;
int main(){
read(n);
if(n==1){
cout<<"********************************"<<endl;
cout<<"*..............................*"<<endl;
cout<<"*..@...@..@@@@@..@......@@@@@..*"<<endl;
cout<<"*..@@..@..@......@......@......*"<<endl;
cout<<"*..@.@.@..@@@@@..@......@@@@@..*"<<endl;
cout<<"*..@..@@..@......@..........@..*"<<endl;
cout<<"*..@...@..@......@@@@@..@@@@@..*"<<endl;
cout<<"*..............................*"<<endl;
cout<<"********************************"<<endl;
}
if(n==2){
cout<<"*********************************************"<<endl;
cout<<"*...........................................*"<<endl;
cout<<"*...........................................*"<<endl;
cout<<"*...@.....@...@@@@@@@...@.........@@@@@@@...*"<<endl;
cout<<"*...@@....@...@.........@.........@.........*"<<endl;
cout<<"*...@.@...@...@.........@.........@.........*"<<endl;
cout<<"*...@..@..@...@@@@@@@...@.........@@@@@@@...*"<<endl;
cout<<"*...@...@.@...@.........@...............@...*"<<endl;
cout<<"*...@....@@...@.........@...............@...*"<<endl;
cout<<"*...@.....@...@.........@@@@@@@...@@@@@@@...*"<<endl;
cout<<"*...........................................*"<<endl;
cout<<"*...........................................*"<<endl;
cout<<"*********************************************"<<endl;
}
if(n==3){
cout<<"**********************************************************"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"*....@.......@....@@@@@@@@@....@............@@@@@@@@@....*"<<endl;
cout<<"*....@@......@....@............@............@............*"<<endl;
cout<<"*....@.@.....@....@............@............@............*"<<endl;
cout<<"*....@..@....@....@............@............@............*"<<endl;
cout<<"*....@...@...@....@@@@@@@@@....@............@@@@@@@@@....*"<<endl;
cout<<"*....@....@..@....@............@....................@....*"<<endl;
cout<<"*....@.....@.@....@............@....................@....*"<<endl;
cout<<"*....@......@@....@............@....................@....*"<<endl;
cout<<"*....@.......@....@............@@@@@@@@@....@@@@@@@@@....*"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"*........................................................*"<<endl;
cout<<"**********************************************************"<<endl;
}
if(n==4){
cout<<"***********************************************************************\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....@.........@.....@@@@@@@@@@@.....@...............@@@@@@@@@@@.....*\n";
cout<<"*.....@@........@.....@...............@...............@...............*\n";
cout<<"*.....@.@.......@.....@...............@...............@...............*\n";
cout<<"*.....@..@......@.....@...............@...............@...............*\n";
cout<<"*.....@...@.....@.....@...............@...............@...............*\n";
cout<<"*.....@....@....@.....@@@@@@@@@@@.....@...............@@@@@@@@@@@.....*\n";
cout<<"*.....@.....@...@.....@...............@.........................@.....*\n";
cout<<"*.....@......@..@.....@...............@.........................@.....*\n";
cout<<"*.....@.......@.@.....@...............@.........................@.....*\n";
cout<<"*.....@........@@.....@...............@.........................@.....*\n";
cout<<"*.....@.........@.....@...............@@@@@@@@@@@.....@@@@@@@@@@@.....*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"*.....................................................................*\n";
cout<<"***********************************************************************\n";
}
if(n==5){
cout << "************************************************************************************\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*......@...........@......@@@@@@@@@@@@@......@..................@@@@@@@@@@@@@......*\n";
cout << "*......@@..........@......@..................@..................@..................*\n";
cout << "*......@.@.........@......@..................@..................@..................*\n";
cout << "*......@..@........@......@..................@..................@..................*\n";
cout << "*......@...@.......@......@..................@..................@..................*\n";
cout << "*......@....@......@......@..................@..................@..................*\n";
cout << "*......@.....@.....@......@@@@@@@@@@@@@......@..................@@@@@@@@@@@@@......*\n";
cout << "*......@......@....@......@..................@..............................@......*\n";
cout << "*......@.......@...@......@..................@..............................@......*\n";
cout << "*......@........@..@......@..................@..............................@......*\n";
cout << "*......@.........@.@......@..................@..............................@......*\n";
cout << "*......@..........@@......@..................@..............................@......*\n";
cout << "*......@...........@......@..................@@@@@@@@@@@@@......@@@@@@@@@@@@@......*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "*..................................................................................*\n";
cout << "************************************************************************************\n";
}
return 0;
}
J Number Game
给定A,B,C和目标值x,可以进行任意次赋值,使B=A−B或者C=B−C 。求是否可以使c变为x 。
B存在B与A-B两种情况,即为B1和B2。由分析可知,C要轮流减去B1和B2,否则会重复。列式子,并化简。当B1=B2时要特判。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
const int INF=0x3f3f3f3f;
const int mod=1e9+7;
const int N=4e4+10,M=5e5+5;
int n,m,k;
ll a,b,c,x;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int T; cin>>T;
while(T--) {
cin>>a>>b>>c>>x;
ll b1=b,b2=a-b;
ll t=abs(b1-b2);
if(b1==b2) {
if(c==x||b-c==x) {
cout<<"Yes\n";
} else {
cout<<"No\n";
}
continue;
}
if((x-c)%t==0) {
cout<<"Yes\n"; continue;
}
if((x-(b2-c))%t==0) {
//printf("%lld %lld\n",(x-(b2-c)),t);
cout<<"Yes\n"; continue;
}
if((x-(b1-c))%t==0) {
cout<<"Yes\n"; continue;
}
cout<<"No\n";
}
return 0;
}
B Eezie and Pie
给定一棵有根树,根是结点1,城市中有n(1≤n≤2×10^6) 个结点,每个结点上有一个饼屋。每个饼屋将饼往根结点传递(传递的点包括自己),最大传递距离为di。计算每个结点收到多少个饼。
树上差分。一段简单路径上的节点值都加一,只用让两边端点加一,减一。用倍增求某一节点的k级父节点。