SICNU 2018 Summer Training #10
生活随笔
收集整理的這篇文章主要介紹了
SICNU 2018 Summer Training #10
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這次比賽題挺難的,1個多小時把簽到的幾題做了之后就動不了手了,就很難受
首先是C題字符串操作,比賽剛開始就很多人過,而且是一遍過,感覺應該挺簡單的,但是讀題讀了好久,真的好久。。
思路就是按照他給的操作模擬,只是這個題意太難懂了
#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <map>
using namespace std;
int main()
{
int n=0,m=0;
string a;
int b[10005],c[10005];
cin>>a;
int num[15005];
memset(num,0,sizeof(num));
int t=a.length()/2;
for(int i=0;i<t;i++){
num[i]=a[i]-'A';
num[i+t]=a[i+t]-'A';
n+=num[i];
m+=num[i+t];
}
for(int i=0;i<t;i++){
b[i]=(num[i]+n)%26;
c[i]=(num[i+t]+m)%26;
}
char s[10005];
for(int i=0;i<t;i++) s[i]=((b[i]+c[i])%26)+'A';
for(int i=0;i<t;i++) cout<<s[i];
return 0;
}
H題,dfs暴搜,水題
題意就是在圖中找有多少閉環,直接dfs(因為邊界wa了一次)
#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <map>
using namespace std;
int n,m;
char s[100][100];
int vis[100][100];
void dfs(int i,int j,int sum){
vis[i][j]=1;
for(int x=-1;x<=1;x++){
for(int y=-1;y<=1;y++){
int nx=i+x;
int ny=j+y;
if(nx>=0&&nx<n&&ny>=0&&ny<m&&vis[nx][ny]==0&&s[nx][ny]=='#') dfs(nx,ny,sum);
}
}
}
int main()
{
cin>>n>>m;
memset(vis,0,sizeof(vis));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>s[i][j];
}
}
int sum=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(s[i][j]=='#'&&vis[i][j]==0){
dfs(i,j,sum++);
}
}
}
cout<<sum<<endl;
return 0;
}
最后是D題,模擬。。wa了挺多次
有n個同學傳蛋,每次老師給出兩個操作中的一種,一個操作是將蛋,按順序傳給別的同學,一種是撤銷之前的m次操作(僅包含第一種操作(即不能撤銷先前的撤銷命令))
模擬,一開始用棧,后面用的數組,就是將每次操作后蛋的位置都存起來,然后撤銷就回退覆蓋先前的操作就OK了
#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <map>
#include <stack>
using namespace std;
int main()
{
int n,m;
int t=1;
int num[1000];
num[0]=0;
string s;
int a,b;
int sw;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>s;
if(s[0]=='u'){
cin>>a;
t-=a+1;
}
else{
a=atoi(s.c_str());
sw=num[t-1];
sw+=a;
sw%=n;
if(sw<0) sw+=n;
num[t]=sw;
}
t++;
}
cout<<num[t-1]<<endl;
return 0;
}
總結
以上是生活随笔為你收集整理的SICNU 2018 Summer Training #10的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PMP:4.项目整合管理
- 下一篇: rapoo mt700键盘mac osx