Problem A:
签到题。
#include <bits/stdc++.h>
using namespace std;
int main(){
int A,B;
cin>>A>>B;
for(int i=0;i<10;i++){
if(i!=(A+B))
cout<<i<<endl;
//记得return
}
}
Problem B:
依旧签到。
include <bits/stdc++.h>
using namespace std;
int main(){
int N;
cin>>N;
vector<vector<int>> g(N);
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
int A;
cin>>A;
if(A==1)
g[i].push_back(j+1);
}
}
for(int i=0;i<N;i++){
for(auto x:g[i])
cout<<x<<' ';
cout<<endl;
}
return 0;
}
Problem C:
直接暴力即可。并不用枚举到,只用枚举到就可以了。
#include <bits/stdc++.h>
using namespace std;
bool check(long long x){
if(x<0)
return false;
string s=to_string(x);
reverse(s.begin(),s.end());
return s==to_string(x);
}
long long getmax(long long x,long long y){
if(x>y)
return x;
return y;
}
int main(){
long long N;
cin>>N;
long long ans=0;//记得初始化成LONG_LONG_MIN
for(long long i=1e6+1;i>=0;i--){
if(check(i*i*i) && i*i*i<=N)
ans=getmax(ans,i*i*i);
}
cout<<ans<<endl;
return 0;
}
Problem D:
用一个map就完事了。
//十年OI一场空,不开long long见祖宗
#include <bits/stdc++.h>
using namespace std;
int main(){
int N,T;
cin>>N>>T;
map<int,int> cnt;
vector<int> score(N);
cnt[0]=N;
while(T--){
int A,B;
cin>>A>>B;
A--;
if(--cnt[score[A]]==0)
cnt.erase(score[A]);
score[A]+=B;
cnt[score[A]]++;
cout<<cnt.size()<<endl;
}
return 0;
}
这次的C-D是真不难。E有时间再说吧,因为我没看懂qwq
OK,以上就是本期的全部内容了。我们下期再见!
友情提醒:本期的代码都有问题,请不要无脑Ctrl C+Ctrl V