A 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
void solve(){
map<int,int>mp;
mp[1]=mp[2]=mp[3]=mp[5]=mp[6]=1;
for(int i=1;i<=7;i++){
int a; cin >> a;
if(!mp.count(a)){cout << "NO"; return ;}
}
cout << "YES";
}
B 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
ll a[N];
void solve(){
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i];
}
sort(a+1,a+n+1,greater<>());
ll hf=(n+1)/2;
cout << a[hf]-1;
}
F 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
ll a[N];
void solve(){
ll l,r; cin >> l >> r;
cout << r-l+1 << "\n";
}
G 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
ll a[N];
void solve(){
ll m; cin >> n >> m;
ll tm=m;
if(m==1 || m>=n){cout << "1\n"; return ;}
int cnt=1;
while(tm<=n){
tm*=m;
cnt++;
}
if(tm-n<n-tm/m) cout << cnt << "\n";
else cout << cnt-1 << "\n";
}
J 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
ll a[N];
void solve(){
string h;ll m; cin >> n >> h >> m;
ll cnt[4]={0};
set<pair<string,int>>st;
for(int i=1;i<=n;i++){
string uid,date,time;
cin >> uid >> date >> time;
string year=date.substr(0,4);
ll mouth=(date[5]-'0')*10+date[6]-'0';
if(year!=h || mouth!=m) continue;
ll sd=0;
ll ho=(time[0]-'0')*10+time[1]-'0';
ll mi=(time[3]-'0')*10+time[4]-'0';
ll se=(time[6]-'0')*10+time[7]-'0';
bool if0=(!mi)&(!se);
if((ho==7 || ho==8) || (ho==9 && if0)) sd=1;
if((ho==18 || ho==19) || (ho==20 && if0)) sd=1;
if((ho==11 || ho==12) || (ho==13 && if0)) sd=2;
if((ho==22 || ho==23 || !ho) || (ho==1 && if0)) sd=3;
if(!sd) continue;
if(st.find({uid,sd})!=st.end()) continue;
cnt[sd]++;
st.insert({uid,sd});
}
for(int i=1;i<=3;i++) cout << cnt[i] << " ";
}
K 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
int a[550][550];
bool vi[550][550];
set<PII>st;
int dx[]={-1,0,1,0};
int dy[]={0,1,0,-1};
ll m;
void dfs(int x,int y){
if(!a[x][y]){st.insert({x,y}); return ;}
vi[x][y]=1;
for(int i=0;i<4;i++){
int tx=x+dx[i],ty=y+dy[i];
if(tx<1 || tx>n || ty<1 || ty>m) continue;
if(vi[tx][ty]) continue;
dfs(tx,ty);
}
}
void solve(){
cin >> n >> m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char ch; cin >> ch;
a[i][j]=(ch=='1');
}
}
ll ans=1e18;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==1 && !vi[i][j]){
st.clear();
dfs(i,j);
ans=min((ll)st.size(),ans);
}
}
}
cout << ans;
}
D 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
vector<int>ve[33];
//bool vi[N];
void solve(){
string s; cin >> n >> s;
s=" "+s;
for(int i=1;i<=n;i++){
ve[s[i]-'a'+1].push_back(i);
}
ll k=0;
for(int c=1;c<=26;c++) if(ve[c].size()>1){
for(int i=0,sz=ve[c].size();i<sz-1;i++){
k=max(max(1ll*ve[c][i],n-ve[c][i+1]+1),k);
}
}
cout << k;
}
未完待续