日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

签到题汇总

發布時間:2025/4/5 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 签到题汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

區塊鏈
牛客
題意:字符串前后加引號,中間加空格。數據量1000.
知識點:string的簡單應用

#include<bits/stdc++.h> using namespace std; const int maxn=1010; int n; map<int,string> mp;int main(){scanf("%d",&n);string s;for(int i=1;i<=n;i++){cin>>s;mp[i]=s;} int m,tmp;scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d",&tmp);s=mp[tmp];cout<<"\"";int len1=s.size();for(int i=0;i<len1-1;i++)cout<<s[i]<<" ";cout<<s[len1-1]<<"\""<<endl;}}

kth的自拍照
牛客
分析:矩陣(方陣)順時針旋轉90度,原第i行變為n+1-i列
數據量方陣大小1000*1000
知識點:思維,暴力

#include<bits/stdc++.h> using namespace std; const int maxn=1010; int n,a[maxn][maxn],t[maxn][maxn];int main(){scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&a[i][j]); for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){t[j][n+1-i] =a[i][j];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){printf("%d ",t[i][j]);}cout<<endl;}}

宇恒棋
華師大oj

分析:只有距離是奇數(&1為1),則先手勝;距離是偶數后手勝;
我竟然想寫最短路之后再判奇偶,有點傻,結果最短路還是沒有過。

#include<iostream> #include<queue> #include<cstring> using namespace std; const int maxn=500; int n,m,x1,y1,x2,y2;int main(){cin>>n>>m>>x1>>y1>>x2>>y2;if(abs(x1-x2)+abs(y1-y2)&1) cout<<"Lose"<<endl;else cout<<"Win"<<endl; }

Audio
題意:求一點的坐標,到三角形三個頂點的距離相等。
題解:設三角形三個頂點,求出各邊中點,利用點乘為0,得到x和y的兩個方程。二元一次方程組求解得到x和y。

#include<bits/stdc++.h> using namespace std; const int maxn=1e5+10;int main(){double x1,y1,x2,y2,x3,y3;cin>>x1>>y1>>x2>>y2>>x3>>y3;//scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3); double a1=x2-x1;double a2=y2-y1;double a3=x3-x2;double a4=y3-y2;double b1=(x1+x2)/2.0;double b2=(y1+y2)/2.0;double b3=(x2+x3)/2.0;double b4=(y2+y3)/2.0;double t=a1*a4-a3*a2;//二元一次方程組求解,矩陣double b_1=a1*b1+a2*b2;//等號右側double b_2=a3*b3+a4*b4;//等號右側double up=b_2*a2-b_1*a4;//求解二元一次方程組double down=b_1*a3-b_2*a1;double x=-up/t,y=-down/t;printf("%.3f %.3f",x,y);return 0; }

演唱會
題意:給定時間區間[start,end],判斷是否位于該區間內。形式是:hh:mm::ss
題解:從秒開始進位,分開始進位,然后比較小時即可。

#include<bits/stdc++.h> using namespace std; const int maxn=10; char s[maxn];int a,b,c; int main(){cin>>s;int a1=1,b1=22,c1=33;a=(s[0]-48)*10+s[1]-48;b=(s[3]-48)*10+s[4]-48;c=(s[6]-48)*10+s[7]-48;//cout<<a<<b<<c;a=a+a1,b+=b1,c+=c1;if(c>=60){b+=c/60;c%=60;}if(b>=60){a+=b/60;b%=60;}//cout<<a<<" "<<b<<" "<<c<<endl;if(a<19) cout<<"arrive on time"<<endl;else if(a>=19&&a<21) cout<<"arrive late"<<endl;else cout<<"too late"<<endl;return 0; } // 18:37:27

方塊涂色
題意:矩陣m*n涂掉r行c列,求沒涂色的個數
題解:沒圖色的個數res=n*m-r*m-c*n+r*c

#include<bits/stdc++.h> using namespace std; const int maxn=1e6+10;int main(){long long n,m,r,c;while(cin>>n>>m>>r>>c){long long res=n*m-r*m-c*n+r*c;cout<<res<<endl;}return 0; }

總結

以上是生活随笔為你收集整理的签到题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。