- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,在上一次 CodeChef 竞赛(2 月 Cook-Off)中,我在大约 15 分钟内得到了我认为可以解决此问题的算法,但无法得到正确答案。我一直在努力,我检查了很多东西,我不明白我的错误在哪里。我的一般算法与问题的社论相匹配,但我猜我在某个地方有一个我找不到的错误。
问题链接 - http://www.codechef.com/problems/daily
它是用 C++ 编写的。代码如下。基本上,我只是在阅读门票数量、汽车数量、遍历汽车。读取字符串,递减隔间数组,对隔间进行组合(选择),添加到输出,完成。
在所有测试用例和我想出的一些测试用例上都运行良好。那里有一些不需要的东西,它们只是我的 CodeChef 模板的一部分。
感谢任何帮助。
#include <iostream>
#include <time.h>
#include <string>
#include <math.h>
using namespace std;
const double PI=2*acos(0.0);
#define sqr(x) ((x)*(x))
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
int factorial(int input){
int output = 1;
while(input>1){
output*=input--;
}
return output;
}
int choose(int n, int k){
int output = 0;
output = factorial(n)/(factorial(k)*factorial(n-k));
return output;
}
int main(){
#ifndef ONLINE_JUDGE
clock_t tStart = clock();
freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
//freopen("time.txt","w",stderr);
#endif
int tickets;
cin >> tickets;
int cars;
cin >> cars;
string input;
int output = 0;
int compartments[9];
while(cars-->0){
for(int i = 0;i<9;i++){
compartments[i] = 6;
}
cin >> input;
for(int i = 0;i<=35;i++){
compartments[i/4] -= (input.at(i)-48);
}
for(int i = 36;i<=53;i++){
compartments[8-((i-36)/2)] -=(input.at(i)-48);
}
for(int i = 0;i<9;i++){
output+=choose(compartments[i],tickets);
}
}
cout << output;
#ifndef ONLINE_JUDGE
fprintf(stderr,"Completed in %.0f msec\n",(double)(clock()-tStart));
#endif
return 0;
}
最佳答案
所以正确的代码如下。
在 while 循环中,当我执行 output+= 时,我做了一个小改动。
if(compartments[i]>=tickets){
output+=choose(compartments[i],tickets);
}
问题是我的选择函数没有(至少)正确处理一种情况。如果 compartments[i] = 0 和 tickets = 1,答案应该是 0,因为从 1 事物中选择 0 事物的方法是 0。但是,0 和 1 的阶乘都是 1,并且阶乘(在我的函数中) -1 (0-1) 也是 1,所以我的选择返回 1/(1*1)。哎呀。不知道为什么我花了这么长时间才找到这个。我从未测试过这种情况。抱歉浪费了时间,我还在学习。
关于c++ - CodeChef 每日训练错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9400841/
我正在尝试解决这个问题,但在 codechef 上显示错误答案,问题链接是 http://www.codechef.com/problems/STATUES/ .在系统上,它显示正确的答案,在尝试了很
当我运行这段代码时,为什么它给出了不正确的输出?在我的系统中,我得到了正确的输出。图中第一行是数字测试用例,后面是输入和输出。 #include int main() { double fa
当我运行这段代码时,为什么它给出了不正确的输出?在我的系统中,我得到了正确的输出。我的输出与 link 中给出的输出相同但他们仍然不接受。 int main() { int t, n, b,
以下是my solution至 a problem on codechef . 我在我的计算机上获得了正确的输出,但在 codechef 上却没有。 我在我的代码中找不到错误。 问题是将数组除以其元素
https://www.codechef.com/problems/RIGHTRI 毕达哥拉斯定理问题非常简单,但是当我使用斜率法做同样的事情时,我无法找出可能有什么问题。以下是我的代码: #incl
我正在使用以下代码解决 https://www.codechef.com/problems/FLOW009 的问题 #include int main(int argc, char const *a
我是CodeChef的新手,想尝试几个问题,所以我解决了“Bytelandian金币”问题。 ( http://www.codechef.com/problems/COINS/ ) 我在计算机上得到即
CodeChef 问题: Shivam 是世界上最年轻的程序员,他只有 12 岁。 Shivam 正在学习编程,今天他正在编写他的第一个程序。 程序很简单,给定两个整数A和B,编写一个程序将这两个数字
问题 给定 N 和 M,Dexter 想知道有多少对 a,b(1 #include int main() { int i,t,flag,j,x,k,m[100],n[100]; scanf(
The Problem 我的代码有什么问题?它在我的 TurboC 编译器上运行完全正常,但在 CodeChef 中给出运行时错误。 Ada 有 N 支蜡笔数组,一些蜡笔朝上,一些朝下。艾达认为,如果
我是一名初学者编码员(我在高中学习了 C++),现在我开始解决这个竞争激烈的编程网站上的问题。我试图解决这个问题,但不太成功。 所以,这是别人的代码,我不明白的是为什么他们从数组中的字符串中减去 'a
因此,在上一次 CodeChef 竞赛(2 月 Cook-Off)中,我在大约 15 分钟内得到了我认为可以解决此问题的算法,但无法得到正确答案。我一直在努力,我检查了很多东西,我不明白我的错误在哪里
我在 Codechef 上提交解决方案后遇到运行时错误。我可以在我的机器上的代码块中编译和执行解决方案。请检查代码并让我知道哪里出了问题。 问题定义- 此问题的所有提交均可用。 在公司中,雇员的报酬如
我收到“sigsegv”,当我尝试在 codechef 上运行以下代码时出现运行时错误,而该代码在我的计算机上使用各种测试输入运行良好。我还牢记中给出的约束问题,但我仍然无法调试它。这道题不是来自任何
有人可以告诉我为什么我会因为 CodeChef 上的以下解决方案而获得 WA 吗? 问题链接:https://www.codechef.com/problems/TWTCLOSE 解决方法: n, k
This Is The Question 这是我的解决方案: #include using namespace std; int main(){ unsigned long numberOf
问题陈述: According to Gregorian Calendar, it was Monday on the date 01/01/2001. If any year is input, W
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
以下代码在我的 DEV-C++ 编译器中完美运行,但是当我在 codechef 中提交时,运行 3-4 秒后显示“SIGABRT ERROR”。我已经研究了这个错误并已尽我所能进行调试,但即使一周后我
以下代码在我的 DEV-C++ 编译器中完美运行,但是当我在 codechef 中提交时,运行 3-4 秒后显示“SIGABRT ERROR”。我已经研究了这个错误并已尽我所能进行调试,但即使一周后我
我是一名优秀的程序员,十分优秀!