快来扫码免费领小雪冰激凌吧~
A
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ll n;cin>>n;
if(n==1)cout<<-1;
else{
for(ll i=n;i>=1;i--)cout<<i<<" ";
}
return 0;
}
B
高精度加法板子题。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
string a,b;cin>>a>>b;
vector<ll> aa,bb;
for(ll i=a.length()-1;i>=0;i--)aa.push_back(a[i]-'0');
for(ll i=b.length()-1;i>=0;i--)bb.push_back(b[i]-'0');
//for(ll i=0;i<bb.size();i++)cout<<bb[i]<<" ";
ll jinwei=0,cur=0;
vector<ll> pos;
if(aa.size()>bb.size()){
for(ll i=0;i<bb.size();i++){
cur=jinwei+bb[i]+aa[i];
if(cur>=10)jinwei=1;
else jinwei=0;
pos.push_back(cur%10);
}
for(ll i=bb.size();i<aa.size();i++){
cur=jinwei+aa[i];
if(cur>=10)jinwei=1;
else jinwei=0;
pos.push_back(cur%10);
}
if(jinwei!=0)pos.push_back(jinwei);
}else if(bb.size()>aa.size()){
for(ll i=0;i<aa.size();i++){
cur=jinwei+bb[i]+aa[i];
if(cur>=10)jinwei=1;
else jinwei=0;
pos.push_back(cur%10);
}
for(ll i=aa.size();i<bb.size();i++){
cur=jinwei+bb[i];
if(cur>=10)jinwei=1;
else jinwei=0;
pos.push_back(cur%10);
}
if(jinwei!=0)pos.push_back(jinwei);
}else{
for(ll i=0;i<aa.size();i++){
cur=jinwei+bb[i]+aa[i];
if(cur>=10)jinwei=1;
else jinwei=0;
pos.push_back(cur%10);
}
if(jinwei!=0)pos.push_back(jinwei);
}
for(ll i=pos.size()-1;i>=0;i--)cout<<pos[i];
return 0;
}
C
笑鼠,B题代码一交就ac。
D
#include<bits/stdc++.h>
using namespace std;
int a,b=0;
int main(){
printf("烟火\n狠狠哭\n笨的可以\n诚实地想你\n又圆了的月亮");
return 0;
}
E
#include<bits/stdc++.h>
using namespace std;
#define int signed long long
const int N=1e6+10, mod=1e9;
int a[N];
signed main() {
int T;
cin >> T; // 读取测试用例数量
while(T--) {
int n, k, t;
cin >> n >> k >> t; // 读取停车场数量,起始停车场,返回停车场
for(int i = 1; i <= n; i++) cin >> a[i]; // 读取每个停车场的停车费用
// 计算最小停车费的规则:
// 如果起始停车场和返回停车场相同(即 t == 1),则直接输出该停车场的费用
cout << ((t == 1 ? a[k] : 0)) << '\n';
}
}
F
#include<bits/stdc++.h>
using namespace std;
const int N=11000;
int n,m;
struct node{
string sc,t;
int id;
}a[N];
unordered_map<string,int>cnt;
unordered_map<string,int>B;
unordered_map<string,int>C;
int bs;
string b[N];
int cs;
vector<int>ansA;
vector<int>ansB;
vector<int>ansC;
string c[N];
int main(){
cin>>n>>m;
for(int i=1;i<=n;++i)cin>>a[i].sc>>a[i].t>>a[i].id;
cin>>bs;
for(int i=1;i<=bs;++i){
cin>>b[i];
B[b[i]]=1;
}
cin>>cs;
for(int i=1;i<=cs;++i){
cin>>c[i];
C[c[i]]=1;
}
for(int i=1;i<=n;++i){
if(ansA.size()<m*0.6){
if(cnt[a[i].sc]<3)ansA.push_back(i);
++cnt[a[i].sc];
continue;
}
if(ansB.size()<m*0.3 and B[a[i].sc]){
if(cnt[a[i].sc]<3)ansB.push_back(i);
++cnt[a[i].sc];
continue;
}
if(ansC.size()<m*0.1 and C[a[i].sc]){
if(cnt[a[i].sc]<3)ansC.push_back(i);
++cnt[a[i].sc];
continue;
}
}
cout<<ansA.size()<<'\n';
for(auto A:ansA)cout<<a[A].sc<<" "<<a[A].t<<" "<<a[A].id<<'\n';
cout<<ansB.size()<<'\n';
for(auto B:ansB)cout<<a[B].sc<<" "<<a[B].t<<" "<<a[B].id<<'\n';
cout<<ansC.size()<<'\n';
for(auto C:ansC)cout<<a[C].sc<<" "<<a[C].t<<" "<<a[C].id<<'\n';
}
G
6。果真是签退,最后几分钟交上了成功了。。。。。
H
题目不难,字有点多 ,跟F题一样。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll MOD=1e9+7;
ll t,k,p,a;
string s;
ll qpow(ll x,ll y){
ll res=1;
for(;y;y>>=1,x=x*x%MOD) y&1&&(res=res*x%MOD);
return res;
}
int main(){
cin>>t;
while(t--){
cin>>k>>p>>s;
p=p*qpow(100,MOD-2)%MOD;
for(auto i:s){
cin>>a;
if(i=='1') k+=5;
if(k>=69){
k-=69;
p=((100+a)*p)%MOD*qpow(100,MOD-2)%MOD;
}
}
cout<<p<<"\n";
}
}
I
从32开始往后一个一个试,很莫名其妙,不是41,也不是i,也不是I,试着试着突然AC。。。
J
逆天,神人好多。
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"3 1 11 12\n";
cout<<"2 2 9\n";
cout<<"2 3 14\n";
cout<<"2 4 15\n";
cout<<"3 5 10 16\n";
cout<<"3 6 17 20\n";
cout<<"3 7 18 19\n";
cout<<"2 8 13\n";
}
K
吃汤面没吃炒面,交了炒面的钱,补交汤面的差价,使交的总钱可以换汤面 ,相当于只交了汤面的钱,没交炒面的钱。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ll t;cin>>t;
while(t--){
ll x,y;cin>>x>>y;
if(x==1&&y==1)cout<<-1<<'\n';
else cout<<(ll)max((ll)0,y-x)<<'\n';
}
return 0;
}
L
#include<bits/stdc++.h>
using namespace std;
string n;
int main(){
cin>>n;n=" "+n;
cout<<n.find('7')<<n.find('6');
}
M
有1没2,有1的时候不输出2就好了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
string n;cin>>n;
ll idx1=-1;
ll idx2=-1;
if(n.find('1')==string::npos||n.find('2')==string::npos){
//if(stoll(n)>0)cout<<n;
//else cout<<stoll(n)*(-1);
cout<<n;
return 0;
}else{
for(ll i=0;i<n.size();i++){
if(n[i]=='2')continue;
else cout<<n[i];
}
}
/*
if(n.find('1')==string::npos||n.find('2')==string::npos){
if(stoll(n)>0)cout<<n;
else cout<<stoll(n)*(-1);
return 0;
}
for(ll i=0;i<n.size();i++){
if(idx1!=-1&&idx2!=-1)break;
if(n[i]=='1'){
idx1=i;
}else if(n[i]=='2'){
idx2=i;
}
}
//cout<<idx1<<" "<<idx2;
if(idx1!=-1&&idx2!=-1){
if(idx1<idx2){
for(ll i=0;i<n.size();i++){
if(n[i]=='2')continue;
else cout<<n[i];
}
}else{
for(ll i=0;i<n.size();i++){
if(n[i]=='1')continue;
else cout<<n[i];
}
}
}
*/
return 0;
}
Good night。