C++代码:判断事件是否在指定时间段内
#include
int main() {
int T, N, M;
cin >> T >> N;
vector
int j = 0;
for (int i = 0; i < M; i++) {
if (B[i] < A[j] || B[i] > A[j] + T) {
cout << 'no' << endl;
return 0;
}
while (j < N && A[j] + T < B[i]) {
j++;
}
if (j == N) {
cout << 'no' << endl;
return 0;
}
j++;
}
cout << 'yes' << endl;
return 0;
}
这段代码是一个简单的程序,用于判断一组时间段内的事件是否按照指定要求发生。代码首先读取输入的T、N和M,分别代表时间段的长度、事件A的数量和事件B的数量。然后,代码依次读取事件A和事件B的具体时间。接下来,代码使用两个指针j和i来遍历事件A和事件B的时间。代码通过比较B[i]和A[j]的值判断事件B是否在事件A的时间段内。如果B[i]小于A[j]或者B[i]大于A[j]+T,则输出'no',表示不满足要求。否则,代码通过移动指针j来查找下一个事件A的时间段。如果j达到了A的末尾,说明事件B发生的时间超出了所有事件A的时间段,也不满足要求,输出'no'。最后,如果所有的事件B都满足要求,输出'yes'。
原文地址: http://www.cveoy.top/t/topic/pH1u 著作权归作者所有。请勿转载和采集!