目录
L1-001 Hello World
print("Hello World!")
L1-002 打印沙漏
#include <bits/stdc++.h>
using namespace std;
int main() {
int x;
char z,a; cin >> x>> z;
x--;
int cnt = 3;
int count = 0;
while((x - 2*cnt) >0) {
x -= 2*cnt;
cnt += 2;
count++;
}
cnt -= 2;
for(int i = 0;i < count;i++) {
for(int k = 0;k < i;k++)
cout << " ";
for(int j = 0;j < cnt;j++) {
cout << z;
}
cnt -= 2;
cout <<endl;
}
cnt += 2;
for(int i = 0;i < count;i++)
cout << " ";
cout << z<<endl;
for(int i = 0;i < count;i++) {
for(int k = 0;k < count-1-i;k++)
cout << " ";
for(int j = 0;j < cnt;j++){
cout << z;
}
cout <<endl;
cnt += 2;
}
cout << x;
}
L1-003 个位数统计
#include <bits/stdc++.h>
using namespace std;
int main () {
int a[10];
memset(a,0,sizeof a);
string s; cin >> s;
for(int i = 0;i < s.length();i++) {
a[s[i] - '0'] ++;
}
for(int i = 0;i < 10;i++) {
if(a[i] != 0) {
cout << i <<":"<< a[i]<<endl;
}
}
}
L1-004 计算摄氏温度
#include <bits/stdc++.h>
using namespace std;
int main() {
int a;cin >>a;
// C=5×(F−32)/9
int c = 5*(a-32)/9;
cout << "Celsius = " << c;
return 0;
}
L1-005 考试座位号
#include <bits/stdc++.h>
using namespace std;
struct student {
string id ;
int s;
int k;
};
int main() {
int N; cin >> N;
student stu[N];
for(int i = 0;i < N;i++){
cin >> stu[i].id >> stu[i].s >> stu[i].k;
}
int m; cin >>m;
for(int i = 0;i < m;i++) {
int s;cin >>s;
for(int j = 0;j < N;j++) {
if(stu[j].s == s) {
cout << stu[j].id << " "<< stu[j].k<<endl;
}
}
}
return 0;
}
L1-006 连续因子
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ll n; cin >> n;
ll cnt = 0;
ll index = 0;
bool flag = false;
for(ll m = 2;m <= sqrt(n);m++) {
if(n%m==0) {
flag = true;
break;
}
}
if(flag == false) {
cout << "1\n" <<n;
return 0;
}
for(ll i = 2;i <= sqrt(n);i++) {
ll tmp = i;
ll tcnt = 0;
ll N = n;
while(N%tmp == 0 and N !=0) {
tcnt++;
N /= tmp;
tmp++;
}
if(tcnt > cnt) {
cnt = tcnt;
index = i;
}
// if(tcnt)
// i = tmp;
// else
// i++;
}
cout << cnt<<endl;
for(int i = index;i < index + cnt -1;i++ ){
cout << i <<"*";
}
cout << cnt + index -1;
}
L1-007 念数字
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;cin >>s;
string a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
for(int i = 0 ;i < s.size()-1;i++) {
if(s[i] == '-') {
cout <<"fu ";
}
else {
cout << a[s[i] - '0']<<" ";
}
}
cout <<a[s[s.size()-1] - '0'];
}
L1-008 求整数段和
#include <bits/stdc++.h>
using namespace std;
int main() {
int a,b; cin >> a>> b;
int cnt = 0;
int sum = 0;
while(a <= b) {
if(cnt <4) {
printf("%5d",a);
sum += a;
a++;
cnt++;
}
else if(cnt == 4) {
printf("%5d",a);
sum+=a;
a++;
cnt ++;
}
else {
cout << endl;
printf("%5d",a);
sum+=a;
a++;
cnt = 1;
}
}
cout <<endl<<"Sum = "<< sum;
}
L1-009 N个数求和
#include<iostream>
#include<cmath>
using namespace std;
int GCD(int a, int b)//求最大公约数
{
if (b == 0)
return a;
else
return GCD(b, a%b);
}
int main()
{
int n, a, b, nume, deno, divisor;
//numerator 为和的分子,简写nume,denominator为和的分母,简写demo
scanf("%d%d/%d", &n, &nume, &deno);
for (int i = 1; i < n; i++)
{
scanf("%d/%d", &a, &b);
nume = nume * b + a * deno; //通分之后的分子
deno *= b; //通分之后的分母
divisor = GCD(abs(nume), abs(deno)); //divisor为最大公因数
nume /= divisor; //分子约分
deno /= divisor; //分母约分
}
// 如果是分母为负数,需要分子分母交换一下符号,输出时候如果分数是负数的话 负号要在前面
if (deno < 0)
{
deno = -deno;
nume = -nume;
}
if (nume && nume / deno == 0)
printf("%d/%d\n", nume, deno); //不能用if(nume<deno)通不过,用 abs(nume)<deno可以
else if (nume%deno == 0)
printf("%d\n", nume / deno); //如果nume=0,则包含在nume%deno==0这种情况中,这是一个测试点
else
printf("%d %d/%d\n", nume / deno, nume%deno, deno);
return 0;
}
L1-010 比较大小
#include <bits/stdc++.h>
using namespace std;
int main(){
int a[10];
for(int i = 0;i < 3;i++){
cin>>a[i];
}
sort(a,a+3);
cout << a[0]<<"->"<<a[1]<<"->"<<a[2];
}
L1-011 A-B
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
getline(cin,a);
getline(cin,b);
for(int i = 0;i < b.length();i++) {
while(a.find(b[i])>=0 and a.find(b[i])<a.length()) {
a.erase(a.begin()+a.find(b[i]));
}
}
cout <<a;
return 0;
}
L1-012 计算指数
#include <bits/stdc++.h>
using namespace std;
int main () {
long long n ;cin >> n;
cout<< 2<<"^"<<n<<" = "<<(1<<n);
}
L1-013 计算阶乘和
#include <bits/stdc++.h>
using namespace std;
int a(int N) {
int sum = 1;
for(int i = 2;i <= N;i++){
sum*=i;
}
return sum;
}
int main() {
int t;cin >>t;
int ans = 0;
for(int i =1;i <= t;i++) {
ans+=a(i);
}
cout <<ans;
}
L1-014 简单题
This is a simple problem.
L1-015 跟奥巴马一起画方块
#include <bits/stdc++.h>
using namespace std;
int main() {
double a;cin >>a;
string c;cin >>c;
double k = ceil(a/2);
for(int i =0;i < k;i++) {
for(int j = 0;j < a;j++)
cout << c;
cout <<endl;
}
return 0;
}
L1-016 查验身份证
#include <bits/stdc++.h>
using namespace std;
int a[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char b[11] ={'1','0','X','9','8','7','6','5','4','3','2'};
int main() {
int n;cin >>n;
bool flag = true;
for(int i = 0;i < n;i++) {
string s;cin >>s;
int sum = 0;
for(int j = 0;j <s.length()-1;j++){
sum+= (s[j]-'0')*a[j];
}
int k = sum%11;
if(s[s.length() -1] != b[k]) {
cout <<s<<endl;
flag = false;
}
}
if(flag)
cout <<"All passed";
}
L1-017 到底有多二
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
string s;cin >>s;
double len;
bool a = false,b = false;
if(s[0] == '-') {
a = true;
len = s.length()-1;
}
else {
len = s.length();
}
if(((s[s.length()-1] - '0') & 1) == 0) {
b = true;
}
double cnt = 0;
cnt = count(s.begin(),s.end(),'2');
// cout <<cnt<<" "<<len<<" "<<cnt/len<<" ";
cout<<setiosflags(ios::fixed)<<setprecision(2);
double ans = cnt/len;
if(a) {
ans *= 1.5;
}
if(b) {
ans*=2;
}
cout <<ans*100<<"%";
}
L1-018 大笨钟
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int a,b;
scanf("%d:%d",&a,&b);
if(a<12 ||(a==12&&b==0)) {
printf("Only %02d:%02d. Too early to Dang.",a,b);
}
else {
int sum = a-12;
if(b>0) {
sum++;
}
while(sum--) printf("Dang");
}
}
L1-019 谁先倒
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int a,b;cin >>a>>b;
a++;
b++;
int x,y;
x = 0;
y = 0;
int n;cin >>n;
while(n--) {
int jiahan,jiahua,yihan,yihua;cin >>jiahan>>jiahua>>yihan>>yihua;
int sum = jiahan+yihan;
if(jiahua == sum&&yihua==sum) {
continue;
}
else if(jiahua == sum&&yihua !=sum) {
a--;
x++;
}
else if(yihua==sum &&jiahua != sum){
b--;
y++;
}
if(a==0) {
cout <<"A"<<endl<<y;
break;
}
if(b==0) {
cout <<"B"<<endl<<x;
break;
}
}
return 0;
}
L1-020 帅到没朋友
#include<stdio.h>
#include<algorithm>
#include<memory.h>
#include<math.h>
#include<iostream>
#define MAX 1000005
using namespace std;
int visit[MAX];
int main(int argc, char const *argv[])
{
int n, m, k, id;
cin >> n;
memset(visit, 0, sizeof(visit));
for(int i = 0; i < n; ++i){
scanf("%d", &k);
for(int j = 0; j < k; ++j){
scanf("%d", &id);
if(k == 1)
break;
visit[id] = 1;
}
}
cin >> m;
int pre_id, flag = 0;
for(int i = 0; i < m; ++i){
cin >> pre_id;
if(!visit[pre_id]){
if(++flag > 1)
printf(" ");
printf("%05d", pre_id);
visit[pre_id] = 1;
}
}
if(flag == 0)
cout << "No one is handsome" << endl;
}
L1-021 重要的话说三遍
I'm gonna WIN!
I'm gonna WIN!
I'm gonna WIN!
L1-022 奇偶分家
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;cin >> n;
int sum1 = 0,sum2 =0;
for(int i = 0;i < n;i++) {
int t;cin >>t;
if(t&1) {
sum1++;
}
else {
sum2++;
}
}
cout <<sum1<<" "<<sum2;
}
L1-023 输出GPLT
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;cin >>s;
int sumG = count(s.begin(),s.end(),'G') + count(s.begin(),s.end(),'g');
int sumP = count(s.begin(),s.end(),'P') + count(s.begin(),s.end(),'p');
int sumL = count(s.begin(),s.end(),'L') + count(s.begin(),s.end(),'l');
int sumT = count(s.begin(),s.end(),'T') + count(s.begin(),s.end(),'t');
while(sumG||sumP||sumL||sumT) {
if(sumG) {
cout <<"G";
sumG--;
}
if(sumP) {
cout <<"P";
sumP--;
}
if(sumL) {
cout <<"L";
sumL--;
}
if(sumT) {
cout <<"T";
sumT--;
}
}
}
L1-024 后天
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;cin >>n;
n+=2;
if(n>7) {
cout << n-7;
}
else {
cout <<n;
}
}
L1-025 正整数A+B
#include <bits/stdc++.h>
using namespace std;
int main() {
bool fsa = false,fsc = false,fsb = false;
string sa,sc;cin >> sa >>sc;
char z= getchar();
if(z != '\n') {
fsb= true;
}
for(int i = 0;i < sa.length();i++) {
if(!isdigit(sa[i])) {
fsa = true;
break;
}
}
if(fsa ==false)
if(stoi(sa) > 1000||stoi(sa)==0) {
fsa = true;
}
for(int j = 0;j < sc.length();j++) {
if(!isdigit(sc[j])) {
fsc = true;
break;
}
}
if(fsc == false)
if(stoi(sc) >1000||stoi(sc)==0) {
fsc = true;
}
if(fsa) {
cout <<"? ";
}
else {
cout <<sa<<" ";
}
cout <<"+ ";
if(fsc||fsb) {
cout<<"?";
}
else {
cout << sc;
}
cout <<" = ";
if(!fsa &&!fsc&&!fsb) {
cout << stoi(sa)+stoi(sc);
}
else {
cout <<"?";
}
}
L1-026 I Love GPLT
I
L
o
v
e
G
P
L
T
L1-027 出租
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;cin >>s;
int a[10],k = 0;
a[k++] = s[0]-'0';
for(int i=1;i<s.length();i++) {
if(!binary_search(a,a+k,s[i]-'0')) {
a[k++] = s[i]-'0';
}
sort(a,a+k);
}
int index[20],l=0;
for(int i = 0;i < s.length();i++) {
index[l++] = lower_bound(a,a+k,s[i]-'0')-a;
}
sort(a,a+k,greater<int>());
cout <<"int[] arr = new int[]{";
for(int i = 0;i < k-1;i++) {
cout << a[i]<<",";
}
cout << a[k-1]<<"};\nint[] index = new int[]{";
for(int i = 0;i < l-1;i++) {
cout << abs(index[i]-k+1)<<",";
}
cout <<abs(index[l-1]-k+1)<<"};";
return 0;
}
L1-028 判断素数
#include<bits/stdc++.h>
using namespace std;
bool f(int a){
if(a == 1)
return 1;
for(int i = 2; i < sqrt(a); ++i){
if(a % i == 0){
return true;
}
}
return false;
}
int main(int argc, char const *argv[])
{
int T;cin >> T;
while(T--){
int tmp;cin >> tmp;
if(f(tmp)){
cout << "No" << endl;
}
else{
cout << "Yes" << endl;
}
}
}
L1-029 是不是太胖了
#include<bits/stdc++.h>
using namespace std;
int main(){
double n;cin >>n;
printf("%.1f",((n-100)*0.9)*2);
}
L1-030 一帮一
#include <bits/stdc++.h>
using namespace std;
struct student{
int xing;
string name;
bool xuan;
};
int main() {
int n;cin >>n;
student stu[n];
for(int i = 0;i < n;i++) {
cin >>stu[i].xing>>stu[i].name;
stu[i].xuan = false;
}
for(int i = 0;i < n/2;i++){
cout <<stu[i].name<<" ";
for(int j = n-1;j>=n/2;j--) {
if(!stu[j].xuan && abs(stu[i].xing-stu[j].xing) == 1){
cout << stu[j].name<<"\n";
stu[j].xuan = true;
break;
}
}
}
}
L1-031 到底是不是太胖了
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;cin >> n;
for(int i = 0;i < n;i++) {
double H,W;cin >>H>>W;
if(W-(((H -100)*0.9)*2) >= (((H -100)*0.9)*2)*0.1) {
cout <<"You are tai pang le!\n";
}
else if(W-(((H -100)*0.9)*2) <= (((H -100)*0.9)*2)*0.1*-1) {
cout <<"You are tai shou le!\n";
}
else{
cout <<"You are wan mei!\n";
}
}
}
L1-032 Left-pad
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;cin >>n;
string z; cin>>z;
string s;
getchar();
getline(cin,s);
string ans="";
int len = s.length();
if(len >=n) {
for(int i = len- n;i<len;i++) {
ans+=s[i];
}
}
else {
for(int i = 0;i < n -len;i++) {
ans+=z;
}
ans+=s;
}
cout <<ans;
}
L1-033 出生年
#include <bits/stdc++.h>
using namespace std;
int ans = 0;
int num[10];
int a(int n) {
memset(num,0,sizeof num);
int sum = 0;
if(n >= 1000) {
while(n) {
num[n%10]++;
n/=10;
}
for(int i = 0;i< 10;i++) {
if(num[i]) {
sum++;
}
}
}
else{
while(n){
num[n%10]++;
n/=10;
}
for(int i = 0;i< 10;i++) {
if(num[i]) {
sum++;
}
}
if(num[0]==0){
sum++;
}
}
return sum;
}
int main() {
int y,n;
cin >>y>>n;
for(int i = y;i >=0;i++) {
if(a(i) == n){
cout<<ans<<" ";
printf("%04d",i);
break;
}
else {
ans++;
}
}
}
L1-034 点赞
#include <bits/stdc++.h>
using namespace std;
int a[1001];
int main(){
int N;cin>>N;
memset(a,0,sizeof a);
while(N--) {
int t;cin >>t;
for(int i = 0;i < t;i++) {
int index;cin >>index;
a[index]++;
}
}
int max = a[1];
int index = 1;
for(int i = 2;i < 1001;i++) {
if(a[i] >= max){
max = a[i];
index = i;
}
}
cout <<index<<" "<<a[index];
}
L1-035 情人节
#include <bits/stdc++.h>
using namespace std;
int main(){
string a,b;
int times = 0;
string s;cin >>s;
getchar();
while(s[0] != '.'){
times++;
if(times==2){
a = s;
}
if(times == 14) {
b = s;
}
cin >>s;
getchar();
}
if(times >= 14) {
cout <<a<<" and "<<b<<" are inviting you to dinner...";
}
else if(times < 2){
cout <<"Momo... No one is for you ...";
}
else{
cout <<a<<" is the only one for you...";
}
}
L1-036 A乘以B
#include <iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout <<a*b;
}
L1-037 A除以B
#include <iostream>
using namespace std;
int main(){
double a,b;cin>>a>>b;
if(b) {
if(b<0){
cout <<a<<"/"<<"("<<b<<")"<<"=";
printf("%.2f",a/b);
}
else{
cout <<a<<"/"<<b<<"=";
printf("%.2f",a/b);
}
}
else{
cout <<a<<"/"<<b<<"=Error";
}
}
L1-038 新世界
Hello World
Hello New World
L1-039 古风排版
#include <bits/stdc++.h>
using namespace std;
string a[1000];
int main(){
int N;cin>>N;
getchar();
string s;
getline(cin,s);
int l =0;
memset(a,0,sizeof a);
for(int i = 0;i < s.length();i++) {
if((i+1)%N) {
a[l]+=s[i];
}
else{
a[l]+=s[i];
l++;
}
}
if(s.length()%N){
int times = N-(s.length()%N);
while(times--)
a[l]+=" ";
l++;
}
// for(int i = 0;i < l;i++) {
// cout << a[i]<<endl;
// }
for(int i = 0;i< N;i++){
for(int j = l-1;j>=0;j--){
cout << a[j][i];
}
cout<<endl;
}
}
L1-040 最佳情侣身高差
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;cin >> n;
while(n--){
string s;cin >>s;
double a; cin >>a;
if(s[0] == 'F') {
printf("%.2f\n",a*1.09);
}
else{
printf("%.2f\n",a/1.09);
}
}
}
L1-041 寻找250
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;cin>>s;
int times = 0;
char z;
while(z= getchar()!=EOF) {
int a = stoi(s);
times++;
if(a ==250){
cout << times;
break;
}
cin >> s;
}
}
L1-042 日期格式化
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
scanf("%d-%d-%d",&a,&b,&c);
printf("%04d-%02d-%02d",c,a,b);
}
L1-043 阅览室
#include<iostream>
#include<cstring>
using namespace std;
int n, co, num;//n为天数,count 为一天中借书次数,num为书名号
char a;//按键S ,E
int hh, mm;//小时分钟
int sumtime;//一天所有书籍总阅读时长
int Time[1005];//每本书借书时长
int book[1005];//每本书借书次数
int main(){
cin >> n;
while(n--){
memset(Time, 0, sizeof(Time));
memset(book, 0, sizeof(book));
co = 0;
sumtime = 0;
while(scanf("%d %c %d:%d", &num, &a, &hh, &mm)){
if(num==0){
break;
}
book[num]++;//计数, 用来标记S,E是否是成对出现的
if(a=='S'){
Time[num] = hh*60+mm;
}else if(book[num]%2==0 && a=='E'){
co++;
Time[num] = hh*60+mm-Time[num];
sumtime += Time[num];
Time[num] = 0;
}
}
if(co==0){
cout << "0 0" << endl;
}else{
cout << co << " " << (int)(1.0*sumtime/co+0.5) << endl;
}
}
return 0;
}
L1-044 稳赢
#include <bits/stdc++.h>
using namespace std;
int main(){
int k;cin >>k;
getchar();
int cnt = 0;
string s;cin >> s;
while(s != "End"){
if(cnt % k == 0 && cnt !=0){
cout << s<<endl;
cnt=0;
cin >>s;
continue;
}
cout <<"";
if(s == "JianDao"){
cout <<"ChuiZi\n";
cnt++;
}
else if(s == "ChuiZi"){
cout <<"Bu\n";
cnt++;
}
else if(s =="Bu"){
cout <<"JianDao\n";
cnt++;
}
cin >>s;
}
}
L1-045 宇宙无敌大招呼
#include <iostream>
using namespace std;
int main(){
string s;cin >>s;
cout <<"Hello "<<s;
}
L1-046 整除光棍
#include<stdio.h>
int main(){
int n, r = 1, w = 1;//r表示1,11,111类型的数据,w记录位数
scanf("%d", &n);
while(r < n){
r *= 10;
r++;
w++;
}
while(1){
printf("%d", r/n);//输出商
r %= n;//取余
if(r ==0 )//取余后,若等于0,则证明能被整除,break掉
break;
r = r * 10 + 1;//不等于0则在余数后一位加上1
w++;
}
printf(" %d",w);
return 0;
}
L1-047 装睡
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e6 +10;
signed main() {
int t; cin >> t;
getchar();
while(t--){
string s; cin >> s;
int a,b; cin >> a >> b;
if(a <= 20 && a >= 15 && b <= 70 && b >= 50){
continue;
}else{
cout << s << endl;
}
}
return 0;
}
L1-048 矩阵A乘以B
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i = a;i <= b;++i)
using namespace std;
const int N = 550;
int a[N][N],b[N][N],c[N][N];
int main() {
int n,m;
cin >> n >> m;
rep(i,1,n) rep(j,1,m) cin >> a[i][j];
int n1,m1;
cin >> n1 >> m1;
rep(i,1,n1) rep(j,1,m1) cin >> b[i][j];
if(m != n1) cout << "Error: "<<m<<" != "<<n1 << endl;
else{
rep(i,1,n){
rep(j,1,m1){
rep(k,1,m){
c[i][j] += a[i][k]*b[k][j];
}
}
}
cout << n << " "<< m1 << endl;
rep(i,1,n){
cout << c[i][1];
rep(j,2,m1){
cout << " "<< c[i][j];
}
cout << endl;
}
}
return 0;
}
L1-049 天梯赛座位分配
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e2 +10;
int a[N][1000];
int b[N],c[N];
signed main() {
int n,max1 = 0,inde,cnt1=0,last=0; cin >> n;
rep(i,1,n) {
cin >> b[i];
c[i] = b[i];
if(max1 <= b[i]){
max1 = b[i];
inde = i;
}
}
int cnt = 0;
sort(c+1,c+1+n);
rep(i,1,max1*10LL){
rep(j,1,n){
if(b[j]*10LL >= i){
if(last == j) cnt+=2,a[j][i] = cnt;
else a[j][i] = ++cnt,last = j;
}
}
}
rep(i,1,n){
cout << "#"<< i <<endl;
int j = 1;
rep(k,1,b[i]){
cout << a[i][j++];
rep(l,2,10){
cout << " "<< a[i][j++];
}
cout << endl;
}
}
return 0;
}
L1-050 倒数第N个字符串
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e2 +10;
string s;
int n,p,i;
void f(){
i = n-1;
while(s[i] == 'a') i--;
s[i] = s[i] - 1;
rep(j,i+1,n-1) s[j] = 'z';
}
signed main() {
cin >> n >> p;
p--;
rep(i,1,n) s+="z";
while(p--){
f();
}
cout << s;
}
L1-051 打折
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b; cin >>a >>b;
printf("%.2f",a*b*0.1);
return 0;
}
L1-052 2018我们要赢
2018
wo3 men2 yao4 ying2 !
L1-053 电子汪
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b; cin >>a >>b;
for(int i = 1;i <= a+b;i++) cout << "Wang!";
return 0;
}
L1-054 福到了
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e2 +10;
string a[110],b[110];
signed main() {
char c;
int n; cin >> c >> n;
getchar();
rep(i,0,n-1){
getline(cin,a[i]);
b[i] = a[i];
}
bool f = false;
for(int i = 0,k = n-1;i <= n-1;i++,k--){
for(int j = 0,l = n-1;j <= n-1;j++,l--){
b[i][j] = a[k][l];
if(b[i][j] != a[i][j]){
f = true;
}
if(b[i][j] !=' ') b[i][j] = c;
}
}
if(!f) cout <<"bu yong dao le\n";
rep(i,0,n-1){
rep(j,0,n-1) cout << b[i][j];
cout << endl;
}
return 0;
}
L1-055 谁是赢家
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
int c[N];
signed main() {
int a,b; cin >> a >> b;
rep(i,1,3) cin>> c[i];
sort(c+1,c+1+3);
if(c[1] == 1){
cout << "The winner is b: " << b << " + " << 3;
}else{
if(a > b)cout << "The winner is a: " << a << " + " << (c[1]==0) + (c[2]==0) + (c[3]==0);
else cout << "The winner is b: " << b << " + " << c[1]+c[2]+c[3];
}
return 0;
}
L1-056 猜数字
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6;//静态变量 ,有助于变量类型的识别
int a[N]; // 全局变量
int n;
// 冒泡排序
void bubble_sort(int n){
for(int i = 0 ;i < n - 1;i++){
for(int j = 0;j < n - i - 1;j++){
if(a[j] > a[j+1]) swap(a[j],a[j+1]);
}
}
}
//插入排序
void insert_sort1(){
for(int i = 1;i < n;i++){
//找位置。
int tmp = a[i];
int j;
for(j = 0;j < i;j++){
if(a[j] > a[i]){
break;
}
}
for(int k = i;k > j;k--){
a[k] = a[k-1];
}
a[j] = tmp;
}
}
//插入排序
void insert_sort2(){
for(int i = 1;i < n;i++){
//找位置。
int tmp = a[i];
for(int j = 0;j < i;j++){
if(a[j] > a[i]){
for(int k = i;k > j;k--){
a[k] = a[k-1];
}
a[j] = tmp;
break;
}
}
}
}
//选择排序
void select_sort(){
for(int i = 0;i < n;i++){
int minIndex = i;
for(int j = i + 1;j < n;j++){
if(a[j] < a[minIndex]){
minIndex = j;
}
}
swap(a[i],a[minIndex]);
}
}
//快速排序
void quick_sort(int q[],int l,int r){
if(l >= r) return ;
int x = q[l], i = l - 1,j = r + 1;
while(i < j){
do i++; while(q[i] < x);
do j--; while(q[j] > x);
if(i < j) swap(q[i],q[j]);
}
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
struct Person{
string name;
double num;
double cha;
};
Person p[N];
bool cmp(Person a1,Person a2){
return a1.cha < a2.cha;
}
int main(){
cin >> n;
double mean = 0;
for(int i = 0;i < n;i++){
string name; cin >> name;
double num; cin >> num;
p[i] = {name,num,0};
mean += num;
}
mean /= 2*n;
for(int i = 0;i < n;i++){
p[i].cha = fabs(p[i].num - mean);
}
sort(p,p+n,cmp);
cout << int(mean) << " "<<p[0].name << endl;
// cout << endl;
// for(int i = 0;i < n;i++){
// cout << p[i].name <<" "<< p[i].num <<" "<< p[i].cha<< endl;
// }
// cout << s[0] <<" " << s[1];
// cin >> n;
// for(int i = 0;i < n;i++) cin >> a[i];
// quick_sort(a,0,n-1);
// for(int i = 0;i < n;i++) cout << a[i] <<" ";
return 0;
}
L1-057 PTA使我精神焕发
PTA shi3 wo3 jing1 shen2 huan4 fa1 !
L1-058 6翻了
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
string s,str1 = "6666666666",str2 = "6666";
string f1(){
string s1;
for(int i = 0;i < s.size();i++){
int j = 0,ii = i;
while(ii < s.size() && j < str1.size() && s[ii] == str1[j])ii++,j++;
if(j==str1.size()){
s1+="27";
i+=9;
while(s[i]=='6')i++;
i--;
}else s1 += s[i];
}
return s1;
}
string f2(){
string s1;
for(int i = 0;i < s.size();i++){
int j = 0,ii = i;
while(ii < s.size() && j < str2.size() && s[ii] == str2[j])ii++,j++;
if(j==str2.size()){
s1+="9";
i+=3;
while(s[i]=='6')i++;
i--;
}else s1 += s[i];
}
return s1;
}
signed main() {
getline(cin,s);
while(s.find("6666666666") != string::npos){
s = f1();
}
while(s.find("6666" )!= string::npos){
s = f2();
}
cout << s;
return 0;
}
L1-059 敲笨钟
n = eval(input())
while n > 0:
n-=1
s = input()
a , b = s.split(",")
if a[len(a)-1] == 'g' and a[len(a)-2] == 'n' and a[len(a)-3] == 'o' and b[len(b)-2] == 'g' and b[len(b)-3] == 'n' and b[len(b)-4] == 'o':
print(a,end=',')
cnt = 0
for i in range(len(b)-1,-1,-1):
if b[i] == ' ':
cnt+=1
if cnt == 3:
inde = i
break
for i in range(inde+1):
print(b[i],end='')
print("qiao ben zhong.")
else:
print("Skipped")
L1-060 心理阴影面积
s = input()
a,b = s.split()
x= int(a)
y= int(b)
print(int(5000 - (x*y*0.5)-((100-x)*(100-y)*0.5)) - (100-x)*y)
L1-061 新胖子公式
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e6 +10;
signed main() {
double a,b; cin >> a >> b;
double x = a/(b*b);
printf("%.1f\n",x);
if(x > 25) cout << "PANG";
else cout << "Hai Xing";
return 0;
}
L1-062 幸运彩票
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e6 +10;
signed main() {
int t; cin >> t;
while(t--){
int n;cin >> n;
int a = n%10;n/=10;
a += n%10; n/=10;
a += n%10; n/=10;
int b = n%10;n/=10;
b += n%10; n/=10;
b += n%10; n/=10;
cout << (a == b?"You are lucky!":"Wish you good luck.") << endl;
}
return 0;
}
L1-063 吃鱼还是吃肉
#include "bits/stdc++.h"
#include<algorithm>
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e6 +10;
signed main() {
int t; cin >> t;
while(t--){
int op,sg,tz; cin >> op >> sg >> tz;
if(op){
if(sg < 130) cout << "duo chi yu! ";
else if(sg > 130) cout << "ni li hai! ";
else cout << "wan mei! ";
if(tz < 27) cout << "duo chi rou!";
else if(tz > 27) cout << "shao chi rou!";
else cout << "wan mei!";
cout << "\n";
}else{
if(sg < 129) cout << "duo chi yu! ";
else if(sg > 129) cout << "ni li hai! ";
else cout << "wan mei! ";
if(tz < 25) cout << "duo chi rou!";
else if(tz > 25) cout << "shao chi rou!";
else cout << "wan mei!";
cout << "\n";
}
}
return 0;
}
L1-064 估值一亿的AI核心代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
getchar();
for(int i=0;i<n;i++){
string s;
getline(cin,s);
cout<<s<<endl;
///去掉首尾空格
s.erase(0,s.find_first_not_of(" "));
s.erase(s.find_last_not_of(" ")+1);
///去掉大写和其他多余空格
for(int j=0;j<s.length();j++){
if(isalnum(s[j])){ ///数字字母
if(s[j]!='I')
s[j]=tolower(s[j]);
}else if(s[j]==' '){ ///空格
if(j<s.length()-1&&s[j+1]==' '){
s.erase(j,1);
j--;
}
}else{ ///其他字符
if(s[j]=='?')
s[j]='!';
if(j>0&&s[j-1]==' '){
s.erase(j-1,1);
j--;
}
}
}
///替换can you/could you/I/me
for(int j=0;j<s.length();j++){
if(j==0){ ///要替换的位于句首
if(s.length()==7&&s.substr(0,7)=="can you") ///can you//
s.replace(0,7,"I can");
else if(s.length()>7&&s.substr(0,7)=="can you"&&!isalnum(s[7]))///can you.. /
s.replace(0,7,"I can");
else if(s.length()==9&&s.substr(0,9)=="could you")
s.replace(0,9,"I could");
else if(s.length()>9&&s.substr(0,9)=="could you"&&!isalnum(s[9]))
s.replace(0,9,"I could");
else if(s.length()==1&&s[0]=='I')
s.replace(0,1,"you");
else if(s.length()>1&&s[0]=='I'&&!isalnum(s[1]))
s.replace(0,1,"you");
else if(s.length()==2&&s.substr(0,2)=="me")
s.replace(0,2,"you");
else if(s.length()>2&&s.substr(0,2)=="me"&&!isalnum(s[2]))
s.replace(0,2,"you");
}else{ ///要替换的位于句中或句尾
if(s.length()==j+7&&s.substr(j,7)=="can you"&&!isalnum(s[j-1]))
s.replace(j,7,"I can");
else if(s.length()>j+7&&s.substr(j,7)=="can you"&&!isalnum(s[j-1])&&!isalnum(s[j+7]))
s.replace(j,7,"I can");
else if(s.length()==j+9&&s.substr(j,9)=="could you"&&!isalnum(s[j-1]))
s.replace(j,9,"I could");
else if(s.length()>j+9&&s.substr(j,9)=="could you"&&!isalnum(s[j-1])&&!isalnum(s[j+9]))
s.replace(j,9,"I could");
else if(s.length()==j+1&&s[j]=='I'&&!isalnum(s[j-1]))
s.replace(j,1,"you");
else if(s.length()>j+1&&s[j]=='I'&&!isalnum(s[j-1])&&!isalnum(s[j+1]))
s.replace(j,1,"you");
else if(s.length()==j+2&&s.substr(j,2)=="me"&&!isalnum(s[j-1]))
s.replace(j,2,"you");
else if(s.length()>j+2&&s.substr(j,2)=="me"&&!isalnum(s[j-1])&&!isalnum(s[j+2]))
s.replace(j,2,"you");
}
}
cout<<"AI: "<<s<<endl;
}
return 0;
}
L1-065 嫑废话上代码
Talk is cheap. Show me the code.
L1-066 猫是液体
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
string s,str1 = "6666666666",str2 = "6666";
signed main(){
int a,b,c; cin >> a >> b >> c;
cout << a*b*c;
return 0;
}
L1-067 洛希极限
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
signed main(){
double a,b,c; cin >> a >> b >> c;
double d = a*(b?1.26:2.455);
printf("%.2f",d);
if(d >= c){
cout << " T_T";
}else{
cout << " ^_^";
}
return 0;
}
L1-068 调和平均
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
signed main(){
int n; cin >> n;
double sum = 0;
rep(i,1,n){
double x; cin >> x;
sum += 1.0/x;
// cout << sum<<endl;
}
sum/=n;
printf("%.2f",1.0/sum);
return 0;
}
L1-069 胎压监测
#include "bits/stdc++.h"
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b ;i --)
#define int long long
#define sfi(x) scanf("%lld", &x)
using namespace std;
const int N = 2e3 +10;
signed main() {
int a[10],max1 = -1;
rep(i,1,4) cin >> a[i],max1 = max(a[i],max1);
int x,y; cin >> x >> y;
int cnt = 0;
int inde;
rep(i,1,4){
if(a[i] < x || max1 - a[i] > y) {
cnt++,inde = i;
}
}
if(cnt==0){
cout << "Normal";
}else if(cnt == 1){
cout << "Warning: please check #" << inde <<"!";
}else{
cout << "Warning: please check all the tires!";
}
return 0;
}
L1-070 吃火锅
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
vector<int> v;
signed main(){
string s="1";
int cnt = 0;
while(s != "."){
getline(cin,s);
cnt++;
if(s.find("chi1 huo3 guo1") != string::npos){
v.push_back(cnt);
}
}
cout << cnt -1 << endl;
if(v.size()){
cout << v[0] << " " << v.size();
}else{
cout << "-_-#";
}
return 0;
}
L1-071 前世档案
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
signed main(){
int n,m; cin >> n >> m;
while(m--){
int L = 1,R = pow(2,n);
string s; cin >> s;
for(auto x: s){
if(x == 'y'){
R = (L+R)/2;
}else {
L = (L+R)/2 + 1;
}
}
cout << L << endl;
}
return 0;
}
L1-072 刮刮彩票
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define endl '\n'
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
bool vis[10];
int find(){
rep(i,1,9){
if(!vis[i]){
return i;
}
}
}
int a[10][10];
int ans[30];
signed main(){
ans[6] = 10000;
ans[7] = 36;
ans[8] = 720;
ans[9] = 360;
ans[10] = 80;
ans[11] = 252;
ans[12] = 108;
ans[13] = 72;
ans[14] = 54;
ans[15] = 180;
ans[16] = 72;
ans[17] = 180;
ans[18] = 119;
ans[19] = 36;
ans[20] = 306;
ans[21] = 1080;
ans[22] = 114;
ans[23] = 1800;
ans[24] = 3600;
rep(i,1,3){
rep(j,1,3){
cin >> a[i][j];
vis[a[i][j]] = true;
}
}
int chu = find();
rep(i,1,3){
rep(j,1,3){
if(!a[i][j]) a[i][j] = chu;
}
}
rep(i,1,3){
int x,y; cin >> x >> y;
cout << a[x][y] << endl;
}
int cnt = 0;
int op; cin >> op;
if(op == 1){
rep(i,1,3) cnt+=a[1][i];
}else if(op == 2){
rep(i,1,3) cnt+=a[2][i];
}else if(op == 3){
rep(i,1,3) cnt+=a[3][i];
}else if(op == 4){
rep(i,1,3) cnt+=a[i][1];
}else if(op == 5){
rep(i,1,3) cnt+=a[i][2];
}else if(op == 6){
rep(i,1,3) cnt+=a[i][3];
}else if(op == 7){
cnt += (a[1][1] + a[2][2] + a[3][3]);
}else if(op == 8){
cnt += (a[1][3] + a[2][2] + a[3][1]);
}
cout << ans[cnt];
return 0;
}
L1-073 人与神
To iterate is human, to recurse divine.
L1-074 两小时学完C语言
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define endl '\n'
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
signed main(){
int n,k,m; cin >> n >> k >> m;
int sum = k*m;
if(sum >= n){
cout << 0 << endl;
}else{
cout << n - sum;
}
return 0;
}
L1-075 强迫症
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define endl '\n'
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
signed main(){
string s; cin >>s;
if(s.size()==4){
int year = 0;
rep(i,0,1){
year = year*10 + s[i]-'0';
}
if(year < 22){
printf("20%02lld",year);
}else{
printf("19%02lld",year);
}
cout << "-" << s[2] << s[3];
}else{
cout << s.substr(0,4) << "-" << s.substr(4,2);
}
return 0;
}
L1-076 降价提醒机器人
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define endl '\n'
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
signed main(){
double n,m; cin >> n >> m;
while(n--){
double x; cin >> x;
if(x < m){
cout << "On Sale! " ;
printf("%.1f\n",x);
}
}
return 0;
}
L1-077 大笨钟的心情
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define endl '\n'
using namespace std;
const int mod = 998244353;
const int N = 2e5 +10;
int a[N];
signed main(){
rep(i,0,23){
cin >>a[i];
}
int op = 0;
while(op <= 23 && op >= 0){
cin >> op;
if(op <= 23 && op >= 0)
cout << a[op] << " " << (a[op] <= 50?"No\n":"Yes\n");
}
return 0;
}
L1-078 吉老师的回归
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i = a;i <= b;++i)
using namespace std;
const int N =40;
string s[N];
int main() {
int n,k ; cin >> n >> k;
getchar();
rep(i,0,n-1) getline(cin,s[i]);
int tot = 0;
rep(i,0,n-1){
if(s[i].find("easy") == string::npos && s[i].find("qiandao") == string::npos){
if(!k) break;
else k--;
}
tot++;
}
if(tot==n) cout << "Wo AK le";
else cout << s[tot] << endl;
}
L1-079 天梯赛的善良
#include <bits/stdc++.h>
using namespace std;
const int N = 2e4 + 10;
int a[N];
//快速排序
void quick_sort(int q[],int l,int r){
if(l >= r) return ;
int x = q[l], i = l - 1,j = r + 1;
while(i < j){
do i++; while(q[i] < x);
do j--; while(q[j] > x);
if(i < j) swap(q[i],q[j]);
}
quick_sort(q,l,j);
quick_sort(q,j+1,r);
}
int n;
int main(){
cin >>n;
for(int i = 0;i <n;i++) cin >>a[i];
quick_sort(a,0,n-1);
int sum1 = 0,sum2 = 0;
for(;a[sum1] == a[0];sum1++);
for(;a[n-sum2-1] == a[n-1];sum2++);
cout <<a[0]<<" "<<sum1<<endl;
cout <<a[n-1]<<" "<<sum2<<endl;
}
L1-080 乘法口诀数列
#include <bits/stdc++.h>
#define rep(i,a,b) for(int i = a;i <= b;++i)
#define per(i,a,b) for(int i = a;i >= b;--i)
using namespace std;
string s;
int inde = 0;
string fs(int x){
if(!x)return "0";
string c="";
while(x){
c += (x%10) + '0';
x/=10;
}
reverse(c.begin(),c.end());
return c;
}
int main(){
int n,a,b; cin >> a >> b >> n;
s += fs(a);s+=fs(b);
while(true){
if(s.size() >= n){
break;
}
int x = s[inde] - '0',y = s[inde+1] - '0';
inde++;
x*=y;
s += fs(x);
}
cout << s[0];
rep(i,1,n-1) cout << " "<< s[i];
return 0;
}