深圳网站制作联系电话,曲靖市麒麟区建设局规划网站,网站宝二级域名怎么设置,施工企业安全生产评价汇总表最终须由( )签名。A - Last CardA - Last Card 题目大意
一共 K 张卡片分发给 N 个人#xff0c;这些人的编号为 1, 2, …, N 从第 A 个人开始#xff0c;按照顺序依次将卡片发给以下人员#xff1a;A, A1, A2, …, N, 1, 2, …问最后一个卡片将发给哪个人#xff1f; 具体来说#xff0c;…A - Last CardA - Last Card 题目大意
一共 K 张卡片分发给 N 个人这些人的编号为 1, 2, …, N 从第 A 个人开始按照顺序依次将卡片发给以下人员A, A1, A2, …, N, 1, 2, …问最后一个卡片将发给哪个人 具体来说当第 x(1≤xN) 个人收到卡片后第 x1 个人将收到卡片。当第 N 个人收到卡片后第 1个人将收到卡片。
思路分析
取模时特判一下ans0的情况 ans (a k - 1) % n
时间复杂度
O(1)
AC代码
#include bits/stdc.h
using namespace std;int main(){int n, k, a; cin n k a; int ans (a k - 1) % n; // 计算最后一张卡片的编号if(ans 0) ans n; //特判cout ans endl; return 0;
}B - KEYENCE buildingB - KEYENCE building 题目大意
判断有多少个人的猜测肯定是错误的。根据所给的建筑面积公式4ab3a3b。如果存在一组a和b使得计算出的面积等于某个人的猜测面积则说明该人的猜测是正确的。
思路分析
因为数据范围小所以可以通过枚举a和b的值来计算出可能的建筑面积。
时间复杂度
O(N2)
AC代码
#includebits/stdc.h
using namespace std;int main(){int n;int s[99];cinn;for(int i0; in; i){cins[i];}int ans 0;for(int i0; in; i){bool fl false;for(int a1; a1000; a){for(int b1; b1000; b){if(4*a*b 3*a 3*b s[i]){fl true;break;}}if(fl){break;}}if(!fl){ans;}}coutansendl;return 0;
}C - ABC conjectureC - ABC conjecture 题目大意
给定一个正整数N找出满足条件A≤B≤C和ABC≤N的三个正整数(A, B, C)的个数。
思路分析
因为是不等式所以枚举确定两个数后便知道第三个数的取值范围。
首先可以观察到A、B、C都是从1开始递增的。其次可以发现当固定A和B时C的最大值为N/(A*B)。因此可以使用两个循环来遍历所有可能的A和B的取值范围并在每次循环中计算满足条件的C的个数。最后将所有的满足条件的(A, B, C)个数相加即可得到答案。
时间复杂度
O(√N)
AC代码
#includebits/stdc.h
using namespace std;
using lllong long;int main()
{ll n;cinn; ll ans0; for(ll a 1; a*a*a n; a){ for(ll b a; a*b*bn ; b){ ans n / (a * b) - b 1; // 计算满足条件的C的个数并将其加到ans上 }}coutansendl; return 0;
}