L1-002 打印沙漏
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,y,z,i,j,k;char c;
cin>>n>>c;
x=sqrt((n+1)/2);y=x-1;
for(i=x;i>=1;i--){
for(j=0;j<x-i;j++)cout<<' ';
for(k=0;k<2*i-1;k++)cout<<c;
cout<<endl;
}
for(i=1;i<=y;i++){
for(j=0;j<y-i;j++)cout<<" ";
for(k=0;k<2*i+1;k++)cout<<c;
cout<<endl;
}
z=n-(2*x*x-1);
cout<<z;
return 0;
}
L1-006 连续因子
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,i,j,d=0,a=1;
cin>>n;
x=n;
for(i=2;i<=sqrt(n)+1;i++){
if(n%i)continue;
a=1;
for(j=i;j<=n/2;j++){
a*=j;
if(n%a||a>n)break;
}
if(j-i>d){
d=j-i;
x=i;
}
}
if(d==0)cout<<"1\n"<<x;
else {cout<<d<<endl<<x;
for(i=x+1;i<x+d;i++)cout<<"*"<<i;}
return 0;
}
L1-009 N个数求和
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,x,y,n;
cin>>n;
scanf("%lld/%lld",&a,&b);
for(int i=1;i<n;i++){
scanf("%lld/%lld",&x,&y);
a=a*y+b*x;
b=b*y;
for(long long j=b;j>=2;j--){
if(a%j==0&&b%j==0){
a/=j;b/=j;
}
}
}
if(a>b&&a%b)printf("%lld %lld/%lld",a/b,a%b,b);
else if(a%b==0)printf("%lld",a/b);
else printf("%lld/%lld",a,b);
return 0;
}
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<a.size();i++){
int k=0;
for(int j=0;j<b.size();j++){
if(a[i]==b[j])k=1;
}
if(k==0)cout<<a[i];
}
return 0;
}
L1-020 帅到没朋友
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,m,x=0;
map<string,int>a;
string s;
cin>>n;
while(n--){
cin>>k;
if(k==1){cin>>s;continue;}
while(k--){cin>>s;a[s]=1;}
}cin>>m;
while(m--){
cin>>s;
if(a[s]==0){
x++;
if(x!=1)cout<<' ';
cout<<s;
a[s]=1;
}
}
if(x==0)cout<<"No one is handsome";
return 0;
}
L1-023 输出GPLT
#include<bits/stdc++.h>
using namespace std;
int main(){
int g=0,p=0,l=0,t=0;
string s;
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='g'||s[i]=='G')g++;
if(s[i]=='p'||s[i]=='P')p++;
if(s[i]=='l'||s[i]=='L')l++;
if(s[i]=='t'||s[i]=='T')t++;
}
while(g||p||l||t){
if(g){cout<<"G";g--;}
if(p){cout<<"P";p--;}
if(l){cout<<"L";l--;}
if(t){cout<<"T";t--;}
}
return 0;
}
L1-027 出租
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;int j=0,b[20],i;
map<int,int>a,c;
cin>>s;
for(i=0;i<s.size();i++){
if(a[s[i]-'0']==0&&c[i]==0){b[j++]=s[i]-'0';c[i]=1;a[s[i]-'0']=1;}
}
cout<<"int[] arr = new int[]{";
sort(b,b+j);
for(i=j-1;i>=0;i--){
if(i!=j-1)cout<<",";
cout<<b[i];
}cout<<"};\n";
cout<<"int[] index = new int[]{";
for(i=0;i<s.size();i++){
if(i)cout<<",";
for(int k=j-1;k>=0;k--){
if((s[i]-'0')==b[k]){cout<<abs(j-k-1);break;}
}
}cout<<"};";
return 0;
}
L1-032 Left-pad
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i;char c;string s;
cin>>n>>c;
getchar();
getline(cin,s);
int x=n-s.size();
if(x>=0){while(x--)cout<<c;cout<<s;}
else{for(i=s.size()-n;i<s.size();i++)cout<<s[i];}
return 0;
}
L1-034 点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,x,y=0,z;map<int,int>a;
cin>>n;
while(n--){
cin>>k;
while(k--){
cin>>x;
a[x]++;
}
}
map<int,int>::iterator i;
for(i=a.begin();i!=a.end();i++){
if(i->second>y){y=i->second;z=i->first;}
if(i->second==y&&i->first>y)z=i->first;
}cout<<z<<' '<<a[z];
return 0;
}
L1-039 古风排版
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,j,k=0,x;string s;
cin>>n;
getchar();
getline(cin,s);
if(s.size()%n==0)x=s.size()/n;
else x=s.size()/n+1;
char a[105][1005];
int y=x*n-s.size();
while(y--)
s+=" ";
for(j=x;j>=1;j--){
for(i=1;i<=n;i++){
a[i][j]=s[k++];
}
}
for(i=1;i<=n;i++){
for(j=1;j<=x;j++)
cout<<a[i][j];
cout<<endl;
}
return 0;
}
L1-043 阅览室
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,c,d,m=0,m1=0;char b;double t=0;
map<int,int>x,y;
cin>>n;
while(scanf("%d %c %d:%d",&a,&b,&c,&d)!=EOF){
if(a==0){
t=1.0*m1/m;
if(m==0){cout<<"0 0\n";continue;}
printf("%d %.0f\n",m,t);
m=0,m1=0,t=0;
x.clear();y.clear();
}
if(b=='S'){
y[a]=c*60+d;
x[a]=1;
}
if(x[a]==1&&b=='E'){
x[a]=0;m++;m1+=c*60+d-y[a];
}
}
return 0;
}
L1-046 整除光棍
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,s=1,n=1,y;
cin>>x;
while(x>s){
s=s*10+1;
n++;
}
while(s%x){
n++;
cout<<s/x;
s=s%x*10+1;
}cout<<s/x<<' '<<n;
return 0;
}
L1-049 天梯赛座位分配
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,x=1,max=0,i,j,k=-1,a[105][105],b[105][105]={0},s=0;
cin>>n;
for(i=0;i<n;i++){
cin>>m;
if(m>max)max=m;
for(j=0;j<10*m;j++)
b[i][j]=1;
}
for(i=0;i<10*max;i++){
for(j=0;j<n;j++){
if(b[j][i]){
if(j!=k){
a[j][i]=x++;
k=j;
}
else{
x+=1;
a[j][i]=x++;
k=j;
}
}
}
}
for(i=0;i<n;i++){
cout<<"#"<<i+1<<endl;
for(j=0;j<10*max;j++){
if(a[i][j])
{s++;
if((j+1)%10!=1)cout<<' ';
cout<<a[i][j];
if(s%10==0){cout<<endl;s=0;}}
}
}
return 0;
}
L1-056 猜数字
#include<bits/stdc++.h>
using namespace std;
struct xx{
string a;
int b;
}s[10005];
int main(){
int n,i,c=0,y=100;string x;
cin>>n;
for(i=0;i<n;i++){
cin>>s[i].a>>s[i].b;
c+=s[i].b;
}
c/=(2*n);
for(i=0;i<n;i++){
if(abs(s[i].b-c)<y){y=abs(s[i].b-c);x=s[i].a;}
}cout<<c<<' '<<x;
return 0;
}
L1-059 敲笨钟
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,j,k,x,y;string s;
cin>>n;
getchar();
while(n--){
k=0,x=0,y=0;
getline(cin,s);
for(i=0;i<s.size();i++)
if(s[i]==','&&s[i-1]=='g'&&s[i-2]=='n'&&s[i-3]=='o')x=1;
for(i=0;i<s.size();i++)
if(s[i]=='.'&&s[i-1]=='g'&&s[i-2]=='n'&&s[i-3]=='o')y=1;
if(x==1&&y==1) {
for(i=s.size()-1;i>=0;i--)
{
if(s[i]==' ')k++;
if(k==3){j=i;break;}
}
for(i=0;i<=j;i++)cout<<s[i];
cout<<"qiao ben zhong.\n";
}
else cout<<"Skipped\n";
}
return 0;
}
L1-064 估值一亿的AI核心代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
string s;
cin>>n;
getchar();
while(getline(cin,s)){
cout<<s<<endl<<"AI: ";
s=regex_replace(s,regex(R"(\s+)")," ");
s=regex_replace(s,regex(R"(^\s+|\s+$|\s+(?=\W))"),"");
s=regex_replace(s,regex(R"(\bI\b)"),"mark_mark");
for(int i=0;i<s.size();i++)
if(s[i]!='I')s[i]=tolower(s[i]);
s=regex_replace(s,regex(R"(\bcan you\b)"),"I can");
s=regex_replace(s,regex(R"(\bcould you\b)"),"I could");
s=regex_replace(s,regex(R"(mark_mark|\bme\b)"),"you");
s=regex_replace(s,regex(R"(\?)"),"!");
cout<<s<<endl;
}
return 0;
}
L1-071 前世档案
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,x,i,y,z;string b;
cin>>n>>m;
x=pow(2,n);
while(m--)
{
cin>>b;
z=1;y=x;
for(i=0;i<b.size();i++){
if(b[i]=='n'){z+=(y/2);}
y/=2;
}
cout<<z<<endl;
}
return 0;
}
L1-072 刮刮彩票
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,j,x,y,z,a[5][5],x1,y1,c[10]={0},d=0;
int b[20]={10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
{cin>>a[i][j];
c[a[i][j]]=1;
if(a[i][j]==0){x1=i,y1=j;}
}
}
for(i=1;i<=9;i++)if(c[i]==0)a[x1][y1]=i;
for(i=1;i<=3;i++){
cin>>x>>y;
cout<<a[x][y]<<endl;
}cin>>z;
if(z==1)d=a[1][1]+a[1][2]+a[1][3];
if(z==2)d=a[2][1]+a[2][2]+a[2][3];
if(z==3)d=a[3][1]+a[3][2]+a[3][3];
if(z==4)d=a[1][1]+a[2][1]+a[3][1];
if(z==5)d=a[1][2]+a[2][2]+a[3][2];
if(z==6)d=a[1][3]+a[2][3]+a[3][3];
if(z==7)d=a[1][1]+a[2][2]+a[3][3];
if(z==8)d=a[3][1]+a[2][2]+a[1][3];
cout<<b[d-6];
return 0;
}
L1-079 天梯赛的善良
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[20005],i;map<int,int>b;
cin>>n;
for(i=0;i<n;i++){cin>>a[i];b[a[i]]++;}
sort(a,a+n);
cout<<a[0]<<' '<<b[a[0]]<<endl;
cout<<a[n-1]<<' '<<b[a[n-1]];
return 0;
}
L1-080 乘法口诀数列
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,n,i=0,x;string s;
cin>>a>>b>>n;
x=n;
s+=to_string(a);s+=to_string(b);
while(n--){
s+=to_string((s[i]-'0')*(s[i+1]-'0'));
i++;
}
for(int j=0;j<x;j++){
if(j)cout<<' ';
cout<<s[j];
}
return 0;
}
L1-087 机工士姆斯塔迪奥
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,q,x,y,i,j;
cin>>n>>m>>q;
int a=0,b=0;
map<int,int>p[1005];
while(q--){
cin>>x>>y;
if(p[x][y]==0)
{if(x==0)a++;
else b++;
p[x][y]=1;}
}
cout<<n*m-(a*m+b*n-a*b);
return 0;
}
L1-088 静静的推荐
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,s,z=0,x,y;map<int,int>b;
cin>>n>>k>>s;
while(n--){
cin>>x>>y;
if(x>=175&&y>=s)z++;
else b[x]++;
}
for(int i=175;i<=290;i++){
if(b[i]<k)z+=b[i];
else z+=k;
}cout<<z;
return 0;
}
L4-108 谷歌的招聘
#include<bits/stdc++.h>
using namespace std;
int ss(int a){
if(a<=1)return 1;
for(int i=2;i<=sqrt(a);i++){
if(a%i==0)return 1;
}
return 0;
}
int main(){
int l,k,i,j,x,y=0;
cin>>l>>k;
string n;
cin>>n;
for(i=0;i<l;i++){
x=0; string a;
for(j=i;j<i+k;j++){
x=x*10+(n[j]-'0');
a+=n[j];
}
if(ss(x)==0){y=1;cout<<a;break;}
}
if(y==0)cout<<"404";
return 0;
}
L4-113 编程团体赛
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,c,d,x,y=0;char b;map<int,int>p;
cin>>n;
while(n--){
cin>>a>>b>>c>>d;
p[a]+=d;
if(p[a]>y){x=a;y=p[a];}
}cout<<x<<' '<<y;
return 0;
}
L4-117 矩阵列平移
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,x,i,j,a[105][105],b[105][105],y=0,z;
cin>>n>>k>>x;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
cin>>a[i][j];
}
for(j=1;j<=n;j++){
if(j%2==0){
y++;
for(z=1;z<=y;z++)
b[z][j]=x;
for(z=y+1;z<=n;z++)
b[z][j]=a[z-y][j];
if(y==k)y=0;
}
else {
for(i=1;i<=n;i++)
b[i][j]=a[i][j];
}
}
for(i=1;i<=n;i++){
int s=0;
for(j=1;j<=n;j++)
{
s+=b[i][j];
}
if(i!=1)cout<<' ';
cout<<s;
}
return 0;
}
L4-118 均是素数
#include<bits/stdc++.h>
using namespace std;
int ss(int x){
if(x==1)return 1;
for(int i=2;i<=sqrt(x);i++){
if(x%i==0)return 1;
}
return 0;
}
int main(){
int m,n,i,j,k,s=0,a[1005],b=0;
cin>>m>>n;
for(i=m;i<=n;i++){
if(ss(i)==0)a[b++]=i;
}
for(i=0;i<b;i++){
for(j=i+1;j<b;j++){
for(k=j+1;k<b;k++){
if(ss(a[i]*a[j]+a[k])==0&&ss(a[j]*a[k]+a[i])==0&&ss(a[i]*a[k]+a[j])==0)
s++;
}
}
}cout<<s;
return 0;
}