鱼C论坛

 找回密码
 立即注册
查看: 2541|回复: 5

[已解决]请问这道题为什么会WA

[复制链接]
发表于 2022-7-31 19:02:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问这道题怎么又WA了

题目地址:传送门

我的想法是这样的:由题意可知,一周需要筹集7x+21k元,52周需要筹集364x+1092k元,因此,只需要解不定方程364x+1092k = n就可以。
我的代码:
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.         int n; cin>>n;
  6.         int x, k;
  7.         for(k=1;;++k)
  8.                 if((n-1092*k)%364 == 0){x = (n-1092*k)/364; break;}
  9.         cout<<x<<endl<<k;
  10.         return 0;
  11. }
复制代码

答题情况:
最佳答案
2022-7-31 19:14:29
本帖最后由 柿子饼同学 于 2022-7-31 19:19 编辑

咱们稍微化简下, 给 n 除 364
由题知 x <= 100 , 又要取大值, 所以从 100 开始循环
你没有注意 x 的范围 , 导致题目第 3 个样例错了
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int n;
  4. bool s;

  5. int main(){
  6.     ios::sync_with_stdio(0);
  7.     cin.tie(0); cout.tie(0);
  8.    
  9.     cin >> n;
  10.     n /= (52*7);

  11.     for(int x = 100; x >= 1; x--){
  12.         for(int k = 1; k <= 1000; k++){
  13.             if(x + 3*k == n){
  14.                 cout << x << endl << k;
  15.                 return 0;
  16.             }
  17.         }
  18.     }
  19.    
  20.     return 0;
  21. }
复制代码
屏幕截图 2022-07-31 183802.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-7-31 19:14:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 柿子饼同学 于 2022-7-31 19:19 编辑

咱们稍微化简下, 给 n 除 364
由题知 x <= 100 , 又要取大值, 所以从 100 开始循环
你没有注意 x 的范围 , 导致题目第 3 个样例错了
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int n;
  4. bool s;

  5. int main(){
  6.     ios::sync_with_stdio(0);
  7.     cin.tie(0); cout.tie(0);
  8.    
  9.     cin >> n;
  10.     n /= (52*7);

  11.     for(int x = 100; x >= 1; x--){
  12.         for(int k = 1; k <= 1000; k++){
  13.             if(x + 3*k == n){
  14.                 cout << x << endl << k;
  15.                 return 0;
  16.             }
  17.         }
  18.     }
  19.    
  20.     return 0;
  21. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-31 19:20:04 | 显示全部楼层
柿子饼同学 发表于 2022-7-31 19:14
咱们稍微化简下, 给 n 除 364
由题知 n

这个ios::sync_with_stdio的ios::是什么意思,我一直不理解::是什么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-31 19:22:01 | 显示全部楼层
tommyyu 发表于 2022-7-31 19:20
这个ios::sync_with_stdio的ios::是什么意思,我一直不理解::是什么


目的就是这样区分一下不同库(C++中称为名称空间)的函数
比如
  1. std::cin >> a;
  2. ios::sync_with_stdio(0);
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-31 19:23:44 | 显示全部楼层
tommyyu 发表于 2022-7-31 19:20
这个ios::sync_with_stdio的ios::是什么意思,我一直不理解::是什么

目的就是这样区分一下不同 namespace 的函数
比如写了 using namespace std;
就不用写 :
  1. std::cin >> a;
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-31 19:32:41 | 显示全部楼层
tommyyu 发表于 2022-7-31 19:20
这个ios::sync_with_stdio的ios::是什么意思,我一直不理解::是什么

就是 c 有不同的模块 , :: 就是表示这个函数是这个模块里的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 21:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表