El undécimo ejercicio de carrera de la Copa Blue Bridge

Descripción del problema
Xiaolan se ejercita todos los días.

  • En circunstancias normales, Xiaolan corre 1 kilómetro todos los días.

  • Si un día es lunes o principio de mes (1º), para motivarse, Xiaolan correrá 2 kilómetros.

  • Si también es lunes o principios de mes, Xiaolan también correrá 2 kilómetros.

Xiaolan ha estado funcionando durante mucho tiempo, desde el sábado 1 de enero de 2000 (inclusive) hasta el jueves 1 de octubre de 2020 (inclusive).

¿Cuántos kilómetros corrió Xiaolan durante este período?

Envío de respuesta
Esta es una pregunta que llena los espacios en blanco con el resultado, solo necesitas calcular el resultado y enviarlo.
El resultado de esta pregunta es un número entero. Al enviar la respuesta, solo complete este número entero. Si completa el contenido adicional, no podrá puntuar.


Respuesta: 8879


respuesta:

解题思路

  1. Utilice 0 ~ 6para representar 周一 至 周日;
  2. Se utiliza sumpara representar 2000年1月1日a 某年某月某日la cantidad de días transcurridos;
  3. Desde el 2000年1月1日sábado, el uso (sum + 5) % 7puede representar 某年某月某日la semana;
  4. Porque 2020年10月1日sin tratamiento, al final ans += 2;
#include <iostream>
using namespace std;

int days[13] = {
    
    0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

bool is_leap(int year)
{
    
    
	return year % 400 == 0 || year % 4 == 0 && year % 100 != 0;
}

int get_day(int year, int month)
{
    
    
	if(month == 2) return 28 + is_leap(year);
	return days[month];
}

int main()
{
    
    
	int sum = 0, ans = 0;
	for (int i = 2000; i <= 2019; i ++)
		for (int j = 1; j <= 12; j ++)
			for (int k = 1; k <= get_day(i, j); k ++)
			{
    
    
				int weekday = (sum + 5) % 7;
				if(k == 1 || weekday == 0) ans += 2;
				else ans ++;
				sum ++;
			}
			
	for (int j = 1; j <= 9; j ++)
		for (int k = 1; k <= get_day(2020, j); k ++)
		{
    
    
			int weekday = (sum + 5) % 7;
			if(k == 1 || weekday == 0) ans += 2;
			else ans ++;
			sum ++;
		}			
	
	cout << ans + 2 << endl;
	return 0;
}

Copa Lanqiao C / C ++ Grupo Competencia provincial Preguntas de años anteriores

Supongo que te gusta

Origin blog.csdn.net/weixin_46239370/article/details/115093881
Recomendado
Clasificación