Идеи: Analog, перечислить
Этот вопрос NOIP2016 PJ T2, а второй вопрос популярности группы, я думаю, что для популярности группы игроков, которые все еще имеют некоторые трудности.
Я не думаю, что перечисление @ «QQ красный конверт» Бандитский день Администратор $ O (N ^ 2) $ подход, написал тройную петлю, дату перечисления, а затем определить, действительно ли палиндром. Тогда он стал худшим решением (
Основные комментарии в коде.
$ \ Гт код $
# Включают <бит / STDC ++. Ч> # определить LL длинные длинные # определяют гк регистре # определить иль инлайн # определить MEM (а, Num) MemSet (а, Num, SizeOf (а)) # определить отладки (S, X) COUT << s << " -> " << х << епсИ Const BOOL OJ = верно ; с помощью пространства имен STD; Шаблон <Ьурепате T> IL аннулируются readInt (Т & х) { х = 0 ; гк Т е = 1 ; гк символ ч = GetChar (); в то время как(! isdigit (ч)) е = ч == ' - ' ? - 1 : е, ч = GetChar (); в то время как (isdigit (ч)) х = х * 10 + ч - ' 0 ' , ч = GetChar (); х * = F; } Шаблон <имяТипа T> иль INT Max (T а, Т б) { вернуться A> B? A: B;} шаблон <Ьурепате T> IL INT Мин (Т а, Т б) { вернуть а <Ь? A: B;} недействительным файл () { freopen ( " 1.in ", " Г " , STDIN); freopen ( " 1.out " , " ш " , стандартный вывод); } // --- голова файла --- // INT date1, date2; // 两个日期 INT XHW [ 13 ] = { 0 , 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 }; //Сколько дней каждый месяц, в феврале из - за високосный год, она требует специальной обработки. IL аннулируется Изменение ( INT ); // дата функции модификации февраля IL BOOL ОРЗ ( INT , INT , INT ); // определить , является ли дата функции числа палиндромического INT основного () { IF (! Файл (OJ) ); readInt (date1), readInt (что представлено DATE2) # определить y1 Y1 // так как эта переменная y1 CMATH библиотека с чем - то есть конфликт, мы сначала определим его здесь INT y1 = date1 / 10000 , y2 = что представлено DATE2 / 10000 М1 = date1 / 100 % 100 , М2 = DATE2 / 100 % 100// когда перечисление месяца, необходимо принять к сведению. Мы можем попытаться понять их собственный взгляд, если не понимаю, я могу частное письмо. Вот потому , что расположение и другие причины , не уточняли. для ( INT H = T1, H <= Т2, H ++) { // Перечисление месяцев ЕСЛИ (Н == 2 ) изменения (X); // если в феврале функции изменения для ( INT W = 1 . , W <= XHW [Н], W ++) // перечисление день еСЛИ (ОРЗ (Х, Н, W)) АНС ++; // если дата палиндромным, ANS накопление. } } Е ( " % D " , ANS); // Окончательный выход может ANS. возвращать 0 ; } IL пустот Изменение ( INT X) { XHW [ 2 ] = (((Х%4 == 0 ) && (Х-% 100 =! 0 )) || (Х-% 400 == 0 ))? 29 : 28 ; // Если год високосный год, количество дней до 29 февраля, в противном случае 28 , } IL BOOL ОРЗ ( INT X, INT Н, INT W) { INT A [ 10 ]; А [ 1. = Х /] 1000 , A [ 2 ] = Х / 100 % 10 , А [ 3. ] = Х / 10 % 10 , А [ . 4] X% = 10 , А [ 5. ] = H / 10 , А [ 6. ]% Н = 10 , А [ 7. ] = W / 10 , A [ 8. ] W% = 10 ; // разложения восемь лет каждый дневное ЕСЛИ (а [ . 1 ] == A [ 8 . ] && а [ 2 ] == а [ . 7 ] && а [ . 3 ] == а [ . 6 ] && A [ . 4 ] == A [ 5 . ]) возвращение к истине ; // если дата является палиндромом, возвращается к истинному возвращению ложного ; // иначе ложь }
Воспроизводится в: https: //www.cnblogs.com/Xray-luogu/p/11006445.html