日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

人人都有极客精神

發(fā)布時(shí)間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 人人都有极客精神 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://www.jisuanke.com/minicourse/59/438

人人公司是一家極為鼓勵(lì)極客精神的公司,當(dāng)有重要的項(xiàng)目需要上線但又時(shí)間太緊,甚至需要當(dāng)天上線的時(shí)候,往往會(huì)掛起海盜旗開(kāi)啟電子日期顯示,讓大家可以在對(duì)時(shí)間有更明確的感知的情況下,同心協(xié)力搞定重要的項(xiàng)目。海盜旗下方的電子屏顯示的日期形式為 YYYYMMDD (年份占 4 位、月份占 2 位、天數(shù)占 2 位)。

日期電子屏幕上每個(gè)數(shù)字對(duì)應(yīng)的顯示如下圖:

從上圖可以得知每個(gè)數(shù)字對(duì)應(yīng)的筆畫數(shù),比如 2 的筆畫數(shù)是 5,8 的筆畫數(shù)是 7,等等。人人員工小明看到了項(xiàng)目的啟動(dòng)日期 d,但是項(xiàng)目的結(jié)束日期沒(méi)看清楚,只知道電子屏幕上項(xiàng)目結(jié)束日期所需的筆畫數(shù)為 m,你能幫小明算出來(lái)項(xiàng)目執(zhí)行所用的時(shí)間天數(shù)么?

輸入格式

輸入數(shù)據(jù)有多組。第一行輸入一個(gè)整數(shù) T (1 ≤ T ≤ 20),表示一共有 T 組數(shù)據(jù)。

接下來(lái)每組數(shù)據(jù) 2 行,共 T * 2 行。每組第一行輸入一個(gè)長(zhǎng)度為 8 的僅包含數(shù)字的字符串 d,表示項(xiàng)目的啟動(dòng)日期,形式為 YYYYMMDD。每組第二行輸入一個(gè)非負(fù)整數(shù) m (0 ≤ m ≤ 100),表示電子屏幕上項(xiàng)目結(jié)束日期所需的筆畫數(shù)。輸入日期保證合法。

輸出格式

一共輸出 T 行,每行一個(gè)整數(shù),表示該組數(shù)據(jù)對(duì)應(yīng)的項(xiàng)目執(zhí)行所用的時(shí)間天數(shù)。如果最近的符合要求的結(jié)束日期超過(guò) 2999 年 12 月 31 日或無(wú)解則輸出 -1,否則輸出符合要求的最小的解。

樣例1

輸入:

2 20150718 30 29991231 38

輸出:

85 -1

http://paste.ubuntu.com/11897447/
結(jié)束日期肯定比開(kāi)始日期晚,程序又讓你計(jì)算持續(xù)天數(shù),所以ans++,筆畫數(shù)控制程序結(jié)束

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; int year[3000], month2[13], day[40]; int s[10] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6}; // 存第幾個(gè)數(shù)需要幾筆畫數(shù) int month1[2][13] = {0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31}; // month[0]存不是閏年當(dāng)前月份天數(shù) void init () {for (int i=0; i<40; i++)day[i] = s[i%10] + s[i/10]; // 第幾天所需筆畫數(shù),第一天是0和1所需筆畫數(shù)之和for (int i=0; i<13; i++)month2[i] = s[i%10] + s[i/10]; // 第幾月所需筆畫數(shù),12月是1和2所需筆畫數(shù)之和memset(year, 0, sizeof(year));for (int i=0; i<3000; i++){int m = i;for (int j=0; j<4; j++){year[i] += s[m%10]; // 第幾年所需筆畫數(shù)2015年是數(shù)字2,0,1,5所需筆畫數(shù)之和m /= 10; }} } int main () {init();int t, y, m, d, num, ans;scanf ("%d", &t);while (t --){int flag = 0;ans = 0;scanf ("%4d%2d%2d", &y, &m, &d);if (y%400==0 || (y%4==0)&&(y%100!=0)) // 是否閏年flag = 1; scanf ("%d", &num);while (true){int nu = year[y] + month2[m] + day[d]; // 當(dāng)前所到日期所需筆畫數(shù)if (nu == num) // 相等結(jié)束whilebreak;if (y==2999 && m==12 && d==31){ans = -1; break;}d ++; // 每次d+1,ans+1,當(dāng)加到日期筆畫數(shù)和輸入相同時(shí)結(jié)束whileans ++;if (month1[flag][m] < d) {d -= month1[flag][m]; // 月份< d時(shí),天數(shù)從0開(kāi)始下月計(jì)算,月份m+1m ++;} if (m > 12) // 月份大于12,下一年開(kāi)始計(jì){m -= 12;y ++;if (y%400==0 || (y%4==0)&&(y%100!=0))flag = 1;elseflag = 0;}}printf ("%d\n", ans); // 輸出天數(shù)}return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Tinamei/p/4658133.html

總結(jié)

以上是生活随笔為你收集整理的人人都有极客精神的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。