1.å¦ä¹ Cè¯è¨çç½ç«
2.ZOJ 3550求解答!
å¦ä¹ Cè¯è¨çç½ç«
VCç¥è¯åº
æä¾Visual C++ç¨åºæºä»£ç ãç¼ç¨ææãåå ¶å®VCèµæï¼è¿æ论å交æµã
å¯Cä¸ç
主è¦å æ¬Cè¯è¨æ室ãCæ°æ®ç»æã软件ä¸è½½ãææ¯è®ºåçï¼è¿éç论åä¸éçã
VC大æ¬è¥
VCç±å¥½è å¶ä½çç½ç«ï¼è§åè¿æ¯æºç³»ç»çï¼å 容ä¹ä¸éã
Cè¯è¨ä¹å®¶
æä¾æºç¨åºä»£ç åå¦ä¹ èµæçä¸è½½ï¼æ论å交æµã
C++ Builderå¼åè
æä¾æ§ä»¶ãæºä»£ç ãç³»ç»è¡¥ä¸ãçµå书ç±çä¸è½½ï¼å¦ææ§ä»¶ä½¿ç¨åç¼ç¨æå·§ã
Visual C++æå·§ä¸æºä»£ç
ä¸ä¸ºå¼åè 设计ï¼å¤§éçæºä»£ç ãå ¨é¢ç详ç»ä»ç»ã
åçæºçCè¯è¨
ä¸é¢è®ºåï¼åçæºçCè¯è¨ï¼Keil C解å¯çä¸è½½ã
VCä¹è·¯
综å软件å¼åç½ï¼ä»¥VC++ç¼ç¨ä¸ºä¸»ã
Visual C++å¼åæå
æ¯ä¸ä¸ªä¸Visual C++å¼åç¸å ³çä¸ä¸ç½ç«ï¼æ¬ç«ç®åçå½¢å¼ä¸»è¦ä»¥å¼åèµæºåå¼å论å为主ï¼ä¸»è¦æ¯ä¸ºäºç»å¹¿å¤§çå¼å人åæä¾ä¸ä¸ªè·åèµæºåèªç±äº¤æµçåºæã
VCç¼ç¨ç½
VCç¼ç¨å¦ä¹ çç½ç«ï¼æä¾å 大ä¸é¢å丰å¯çææ¡£èµæ以åå¾å¥½ç论åã
C++ Builderç¼ç¨ä¿±ä¹é¨
æ¶éçç¼ç¨æå·§ãä¾ç¨ãæ§ä»¶çè½ç¶éä¸å¤ï¼ä½é½æ¯ç«é¿ç²¾å¿çéçï¼ç½ç«å®æ¨æ¯ä¸å¹¿å¤§ç¼ç¨ç±å¥½è 们ä¸åè¿æ¥ã
VCCode
æä¾C/C++æºä»£ç ä¸ææ¯æç« ï¼å¤©å¤©æ´æ°ï¼é¾å æä¾ææ¯äº¤æµç¤¾åºã
ZOJ 求解答!
题意
Bzu行星一年长T1,一个月长T2,scala 工程 源码一天长T3,T1是宝塔开通主机源码T3的倍数,可惜T2是个任性的数。规定满月出现的那一天为新的一个月的第一天,如果是新年到来,也将开始新的一个月,而每年第一次满月出现的那个月是1月,所以有0月这种东西存在。现在要求某年某月有多少天。酷儿游戏源码
解题分析
一旦不整除,这个世界就不太平了,估计作者也嫌麻烦,大富竞猜源码所以T1才是T3的倍数,否则就真的大自然了。把思路理清了其实核心代码也只有十几行,创胜无忧源码首先计算当年第一个满月出现的时间(first_full),然后就可以算出不考虑年时这个月开始(begin)与结束(end)的时间,最后求出这个月的长度,具体看代码吧……因为我也描述不能= =b。此类问题最好全部使用整数运算。
AC源代码 使用C++实现,记得采纳哦~ 有问题欢迎再问哦~
#include <cstdio>
#include <algorithm>
using namespace std;
struct Calender {
const long long ty, tm, td, diy;
Calender(int t1, int t2, int t3) : ty(t1), tm(t2), td(t3), diy(t1 / t3) {
}
static long long ceil(long long a, long long b) {
return (a + b - 1) / b;
}
static long long floor(long long a, long long b) {
return a / b;
}
int query(long long y, long long m) const {
long long first_full = ceil((y - 1) * ty, tm) * tm - (y - 1) * ty;
// bool has_month_0 = (first_full >= td);
long long begin = (m == 0) ? 0 : floor(first_full + tm * (m - 1), td);
long long end = floor(first_full + tm * m, td);
if (begin >= diy) {
return 0;
} else {
return min(diy, end) - begin;
}
}
};
int main() {
int re;
int t1, t2, t3, q, y, m;
scanf("%d", &re);
for (int ri = 1; ri <= re; ++ri) {
scanf("%d%d%d", &t1, &t2, &t3);
Calender cal(t1, t2, t3);
scanf("%d", &q);
for (int p = 0; p < q; ++p) {
scanf("%d%d", &y, &m);
printf("%d\n", cal.query(y, m));
}
}
return 0;
}