Codeforces Round #394 (Div. 2)(A. Dasha and Stairs,B. Dasha and friends,C. Dasha and Password)
来源:互联网 发布:python snmpgetbulk 编辑:程序博客网 时间:2024/05/20 14:27
题目链接
因为技术问题,这round排名崩了不算分,那就先来更新ABC题吧
A. Dasha and Stairs
很多人被hacked应该是没有考虑a、b同时为0的情况,我也没注意啊
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int maxn = 100050;typedef long long int ll;int san[250],ke[250];int main(){ int a,b; cin>>a>>b; int ok = 1; if(abs(a-b)>1)ok = 0; else ok = 1; if(a==0 && b==0)ok = 0; if(ok)printf("YES\n"); else printf("NO\n"); return 0;}
B. Dasha and friends
这题数据太弱了,以至于可以用枚举来解决,是一道很好的思路题,官方还没更题解,也还没看大神的代码,两个人起点的距离范围肯定在[-L,L],通过距离修正坐标,然后排序再进行匹配,很蠢的方法,不过数据这么小这样做能过
先贴我AC的代码
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 100050;typedef long long int ll;int san[250],ke[250];int main(){ int n,L; cin>>n>>L; for(int i=0;i<n;++i)cin>>ke[i]; for(int i=0;i<n;++i)cin>>san[i]; sort(ke,ke+n); sort(san,san+n); int ok = 0,t = 0,juli = maxn; for(juli = -L;juli <= L;++juli) { int a[250]; for(int i=0;i<n;++i)a[i] = (ke[i] + juli) % L; sort(a,a+n); ok = 1; for(int i=0;i<n;++i) { // printf("%d ",a[i]); if(a[i]!=san[i]){ ok=0;//break; } } if(ok){printf("YES\n");return 0;} } printf("NO\n"); return 0;}
C. Dasha and Password
直接开数组存,每组存下三个值,n组字符串,每组拿到字符,数字,符号需要的最小次数,数据这么弱直接三重循环枚举更新答案
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <vector>#include <set>#include <queue>using namespace std;const int maxn = 1000050;typedef long long int ll;char s[70][150];int mval[70][3];int main(){// freopen("in.txt","r",stdin); int n,m; scanf("%d %d",&n,&m); for(int i=0;i<n;++i) scanf("%s",s[i]); for(int i=0;i<70;++i) mval[i][0]= mval[i][1]= mval[i][2] = maxn; for(int i=0;i<n;++i) { for(int j=0;j<m;++j) { if(s[i][j]=='#' || s[i][j]=='*' || s[i][j]=='&') mval[i][2] = min( min(j,m-j),mval[i][2]); else if(s[i][j]<='9' && s[i][j]>='0') mval[i][0] = min( min(j,m-j),mval[i][0]); else if(s[i][j]<='z' && s[i][j]>='a') mval[i][1] = min( min(j,m-j),mval[i][1]); } }// for(int i=0;i<n;++i)// printf("%d %d %d\n",mval[i][0],mval[i][1],mval[i][2]); int ans = 1e9; for(int i=0;i<n;++i) { for(int j=0;j<n;++j) { if(i==j)continue; for(int k=0;k<n;++k) { if(i==k || j==k)continue; ans = min(ans,mval[i][0]+mval[j][1]+mval[k][2]); ans = min(ans,mval[i][0]+mval[j][2]+mval[k][1]); ans = min(ans,mval[i][1]+mval[j][0]+mval[k][2]); ans = min(ans,mval[i][1]+mval[j][2]+mval[k][0]); ans = min(ans,mval[i][2]+mval[j][0]+mval[k][1]); ans = min(ans,mval[i][2]+mval[j][1]+mval[k][0]); } } } printf("%d\n",ans); return 0;}
0 0
- Codeforces Round #394 (Div. 2)(A. Dasha and Stairs,B. Dasha and friends,C. Dasha and Password)
- Codeforces Round #394(Div. 2)A.Dasha and Stairs【水题】
- Codeforces Round #394 (Div. 2) A. Dasha and Stairs 易错
- Codeforces-Round 394#B-Dasha and friends
- Codeforces Round #394 (Div. 2) C. Dasha and Password
- Codeforces Round #394 (Div. 2)C. Dasha and Password【暴力】
- Codeforces Round #394 (Div. 2) C. Dasha and Password
- Codeforces-Round 394#A-Dasha and Stairs
- Codeforces-Round 394#C-Dasha and Password'
- Codeforces Round #394 (Div. 2)Dasha and friends
- Codeforces Round #394 (Div. 2)Dasha and Stairs
- Codeforces Round #394 (Div. 2) Dasha and Password
- B. Dasha and friends
- B. Dasha and friends
- Codeforces Round #394(Div. 2)B. Dasha and friends【思维+暴力】
- Codeforces Round #394 (Div. 2) B. Dasha and friends —— 暴力 or 最小表示法
- A. Dasha and Stairs
- C. Dasha and Password
- 1118. Birds in Forest (25)
- Codevs 1066 引水入城
- Idea安装公用的项目模块
- codeforces 753 A. Dasha and Stairs
- C. Unfair Poll-数数你会不会?
- Codeforces Round #394 (Div. 2)(A. Dasha and Stairs,B. Dasha and friends,C. Dasha and Password)
- 数据来源
- 第一篇博,写点什么
- 脱壳-PC Guard(4.06)
- mysql查漏补缺
- 1024. Palindromic Number (25)
- Test
- BZOJ 4551([Tjoi2016&Heoi2016]树-倒序并查集)
- Leetcode 67. Add Binary