解题思路:
注意事项:
最应该注意的是当在A,B数组中放入一次周期后剩余的位置的处理
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n= scanner.nextInt();
int na= scanner.nextInt();
int nb= scanner.nextInt();
int []b1=new int[n];
int []b2=new int[n];
for (int i=0;i<na;i++){
int a1= scanner.nextInt();
b1[i]=a1;
}
for(int i=na;i<n;i++){
b1[i]=b1[i-na];
}
for (int j=0;j<nb;j++){
int a2= scanner.nextInt();
b2[j]=a2;
}
for(int i=nb;i<n;i++){
b2[i]=b2[i-nb];
}
int count1=0;//平局
int countb1=0;//胜
int countb2=0;//胜
for (int q=0;q<n;q++){
if (b1[q]==b2[q]){
count1++;
}else if (b1[q]==0&&b2[q]==2){
countb1++;
}else if (b1[q]==2&&b2[q]==5){
countb1++;
} else if (b1[q]==5&&b2[q]==0) {
countb1++;
}else if (b2[q]==0&&b1[q]==2){
countb2++;
}else if (b2[q]==2&&b1[q]==5){
countb2++;
} else if (b2[q]==5&&b1[q]==0) {
countb2++;
}
}
if (countb1>countb2){
System.out.println("A");
}else if (countb1<countb2){
System.out.println("B");
}else {
System.out.println("draw");
}
// System.out.println("平局:"+count1+"\t"+"A赢了"+countb1+"\t"+"B赢了"+countb2);
//检查数据
// for (int element : b1) {
// System.out.print(element);
// }
// System.out.println(" ");
// for (int element1 : b2) {
// System.out.print(element1);
// }
}
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复