某员工放假 n天,在放假期间,他或者工作,或者锻炼,或者休息
(1)他只能在公司和健身房营业时,才能工作或休息
(2)他不能连续两天工作或锻炼
求他最少休息几天:
实现
public class Time {
public static void main(String[] args) {
int sum=0;
Scanner sc = new Scanner(System.in);
System.out.println("放假天数:");
int day = sc.nextInt();
//Scanner sc = new Scanner(System.in);
System.out.println("输入第一列数");
String a1=sc.next();
char[] a2 = a1.toCharArray();
System.out.println("输入第二列数");
String b1=sc.next();
char[] b2 = b1.toCharArray();
for(int i=0;i<day-1;i++){
if((a2[i]==b2[i])&&(a2[i]=='0')){
i++;
sum++;
}
if((a2[i]==b2[i])&&(a2[i]=='1')){
i++;
if((a2[i]==b2[i])&&(a2[i]=='0')){
i++;
sum++;
}
else{}
}
if((a2[i]!=b2[i])&&(a2[i+1]==a2[i+1])&&(a2[i]=='1')||(a2[i]!=b2[i])&&(b2[i+1]==b2[i+1])&&(b2[i]=='1')){
i++;
sum++;
}
}
System.out.println("最少休息天数:");
System.out.println(sum);
}
结果
5
输入第一列数
11011
输入第二列数
00100
最少休息天数:
2