省流:300->260 乐。
Poker:
我考场上寻思着会不会有人写成了 joker.in joker.out,结果真的有 joker
Sol
EZ problem,拿 set 搞一下就行了(虽然我赛事没想到,用了 map)
Code
#include <bits/stdc++.h>
using namespace std;
set<string> st;
int main(){
freopen("joker.in","r",stdin);
freopen("joker.out","w",stdout);
int n;
cin>>n;
for(int i=1;i<=n;i++){
string s;
cin>>s;
st.insert(s);
}
cout<<52-st.size()<<endl;
return 0;
}
Explore:
Sol
another EZ problem,直接按照题目说的模拟就行了。记得多测清空。
Code
#include <bits/stdc++.h>
using namespace std;
const int MAX=1005;
char mp[MAX][MAX];
bool vis[MAX][MAX];
const int dx[]={0,1,0,-1};
const int dy[]={1,0,-1,0};
int main(){
freopen("explore.in","r",stdin);
freopen("explore.out","w",stdout);
int T;
cin>>T;
while(T--){
//memset(vis,false,sizeof(vis));
int n,m,k,x0,y0,d0;
cin>>n>>m>>k>>x0>>y0>>d0;
vis[x0][y0]=true;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
cin>>mp[i][j];
}
for(int i=1;i<=k;i++){
int nx=x0+dx[d0],ny=y0+dy[d0];
if(0<nx && nx<=n && 0<ny && ny<=m && mp[nx][ny]=='.'){
x0=nx;
y0=ny;
}
else
d0=(d0+1)%4;
vis[x0][y0]=true;
}
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
ans+=vis[i][j];
}
cout<<ans<<endl;
}
return 0;
}
sticks:
我就知道有人写成 stick.in stick.out
Sol
考虑找规律。
- 当时,输出个 “8”
- 当时,输出 “10” 再加上个 “8”(当时特判输出 “-1”)
- 当时,输出 “1” 再加上个 “8”
- 当时,输出 “200” 再加上个 "8"(当时特判输出 “7”,当时特判输出 “22”)
- 当时,输出 “20” 再加上个 "8"(当时特判输出 “4”)
- 当时,输出 “2” 再加上个 “8”
- 当时,输出 “6” 再加上个 “8”
Code
#include <bits/stdc++.h>
using namespace std;
int main(){
freopen("stick.in","r",stdin);
freopen("stick.out","w",stdout);
int T;
cin>>T;
while(T--){
int n;
cin>>n;
if(n==1)
cout<<-1;
else if(n==3)
cout<<7;
else if(n==4)
cout<<4;
else if(n==10)
cout<<22;
else if(n%7==0){
for(int i=1;i<=n/7;i++)
cout<<8;
}
else if(n%7==1){
cout<<10;
for(int i=1;i<=(n-8)/7;i++)
cout<<8;
}
else if(n%7==2){
cout<<1;
for(int i=1;i<=(n-2)/7;i++)
cout<<8;
}
else if(n%7==3){
cout<<200;
for(int i=1;i<=(n-17)/7;i++)
cout<<8;
}
else if(n%7==4){
cout<<20;
for(int i=1;i<=(n-11)/7;i++)
cout<<8;
}
else if(n%7==5){
cout<<2;
for(int i=1;i<=(n-5)/7;i++)
cout<<8;
}
else if(n%7==6){
cout<<6;
for(int i=1;i<=(n-6)/7;i++)
cout<<8;
}
cout<<endl;
}
return 0;
}