2 条题解
-
0
#include<stdio.h> int main() { int n,m,x,y,a=0,b=0,i,j; int count=0; scanf("%d%d",&n,&m); getchar(); char c[n]; for(i=0;i<n;i++) { scanf("%c",&c[i]); } getchar(); for(i=0;i<m;i++) { scanf("%d%d",&x,&y); for(j=0;j<n;j++) { if(c[j]=='R') { b++; } if(c[j]=='D') { a++; } if(b==y&&a==x) { count++; } } a=0,b=0; } printf("%d",count); return 0; } -
0
C :
#include<stdio.h> int main() { int n,m;scanf("%d%d",&n,&m);getchar(); char a[n]; int b[m][2]; int i,j; for(i=0;i<n;i++) scanf("%c",&a[i]);getchar(); for(j=0;j<m;j++) scanf("%d%d",&b[j][0],&b[j][1]); int x=0,y=0,f=0; for(j=0;j<n;j++) { if(a[j]=='R') y++; else x++; for(i=0;i<m;i++) { if(x==b[i][0]&&y==b[i][1]) f++; } } printf("%d",f); return 0; }C++ :
#include <stdio.h> int main() { int n,m; int a[110][110]; //二维数组用来标记每个分身的位置 char s[110]; int x,y; int ans = 0; scanf("%d%d",&n,&m); getchar(); //接收换行符 for(int i = 0; i < n; i++) scanf("%c",&s[i]); for(int i = 0; i < m; i++) { scanf("%d%d",&x,&y); a[x][y] = 1; //如果该位置有分身,则标记为1 } x=0,y=0; //存储当前位置 for(int i = 0; i < n; i++) { if(s[i] == 'R') x++; if(s[i] == 'D') y++; if(a[x][y] == 1) ans++; } printf("%d",ans); return 0; }
- 1
信息
- ID
- 705
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 提交数
- 85
- 已通过
- 12
- 上传者