L1-001
思路:
直接输出即可
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout<<"Hello World!";
return 0;
}
L1-002
思路:
存储一下每一行需要输出的字符数
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int n; char c;
void out(int n,int m){
int num=(n-m)>>1;
for(int i=0;i<num;i++) putchar(' ');
for(int i=0;i<m;i++) putchar(c);
putchar('
');
}
void solve(){
vector<int> v(1); v[0]=1; n--;
for(int i=3;;i+=2){
if(n>=i*2) v.push_back(i);
else break;
n-=i*2;
}
int total=*v.rbegin();
for(int i=v.size()-1;i>=1;i--) out(total,v[i]);
for(int x:v) out(total,x);
cout<<n;
}
int main(){
cin>>n;
do{c=getchar();}while(c==' ');
solve();
return 0;
}
L1-003
思路:
用map映射即可
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
string s; cin>>s;
map<char,int> cnt;
for(char c:s) cnt[c]++;
for(auto e:cnt) cout<<e.first<<':'<<e.second<<'
';
return 0;
}
L1-004
思路:
按公式输出
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main(){
int f; cin>>f;
cout<<"Celsius = "<<5*(f-32)/9;
return 0;
}
L1-005
思路:
用map映射
代码:
#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
map<int,string> mp1;
map<int,int> mp2;
int main(){
int n,m; cin>>n;
while(n--){
string s; int a,b; cin>>s>>a>>b;
mp1[a]=s; mp2[a]=b;
}
cin>>m;
while(m--){
int x; cin>>x; cout<<mp1[x]<<' '<<mp2[x]<<'
';
}
return 0;
}