问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

杭电ACM第1005题,自己测试使用结果都是对的,但是提交后提示Runtime Error (ACCESS_VIOLATION)

发布网友 发布时间:2022-04-24 13:56

我来回答

2个回答

热心网友 时间:2023-10-15 08:48

这题可以用二分求幂来做的。
构造一个矩阵每次都是一个矩阵的转移。然后可以用二分。
当然也是有周期的。最大的周期是49
因为这些数字都是要7的范围内
如果有两个数字连续一样的话,后面的数字就会和前面重复
f[i]==f[i+k]&&f[i+1]==f[i+1+k]
这样的话后面就会重复的
//此题是一个很典型的递归mod找周期的题目,很值得研究!
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn = 50; //mod7 2个数 循环节不会超过49
int f[maxn];
int main()
{
int a, b, n, i;
while (scanf("%d%d%d",&a,&b,&n) != EOF )
{
if (a+b+n == 0)break;
f[1] = 1;
f[2] = 1;

for (i = 3; i < 50; i++)
{
f[i] = (a*f[i-1]+b*f[i-2]) % 7;
if (f[i] == 1 && f[i-1] == 1)break; //可能对于不同的A, B 每次的周期会不一样
}
i -= 2; //找周期
n %= i;
if (n == 0)n = i;
cout<<f[n]<<endl;
}
return 0;
}

热心网友 时间:2023-10-15 08:49

这个题你想得容易了, 当数比较大的时候你这种算法会超时的,我以前用c写过这个代码,已经ac了:你可以参考下:
#include <stdio.h>
int main()
{
int a, b, n;
int f[51], i, t;
f[0] = f[1] = 1;
while (scanf("%d%d%d", &a, &b, &n) != EOF && (a || b || n))
{
for (i = 2; i < 51; i++)
{
f[i] = (a * f[i - 1] + b * f[i - 2]) % 7;
}
for (i = 0; i < 49; i++)
{
if (f[49] == f[i] && f[50] == f[i + 1])
{
t = i;
break;
}
}
printf("%d\n", f[n % 49 + t - 2]);
}
return 0;
}追问能简单解释下您的算法嘛 麻烦鸟~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 杭电ACM 1002为什么总是 Runtime Error(ACCESS_VIOLATION)? Runtime Error (ACCESS_VIOLATION) 到底出错在哪里呢?在线等,acm 提交很多次都错 杭电ACM1004,Runtime Error,(ACCESS_VIOLATION) 关于ACM中Runtime Error at Test 1 (ACCESS_VIOLATION)的,程序和网址在下面,求大神解答!! 请问以下杭电acm 1009 代码为什么老显示Runtime Error (ACCESS_VIOLATION)啊?要怎么改? 杭电acm 2132题Runtime Error(ACCESS_VIOLATION) 杭电acm2023,Runtime Error (ACCESS_VIOLATION)? ...runtime error(access_violation)拜托各位大神 各位前辈:杭电acm HDU 1233题,最简单的最小生成树问题,但我的为什么总是access violation呢 杭电acm2132 Runtime Error(ACCESS_VIOLATION) 下面程序为什么在ACM中出现runtime error (access violation 为什么U盘内存是满的但却不显示内容,如何解决? ACM绝对值排序问题,为什么出现ACCESS_VIOLATION错误啊? 优盘里有东西,但是显示不出来怎么办? acm2018显示Runtime Error(ACCESS_VIOLATION) 做杭电acm题目时提交的代码出现ACCESS_VIOLATION错误。 杭电acm总是Runtime Error (ACCESS_VIOLATION) acm运行时显示RUNTIME_ERROR [ACCESS_VIOLATION,怎么解决? 如何解决ACM中ACCESS_VIOLATION的问题 怎么才能让别人登自己的QQ看不到聊天记录。详细点,,谢谢 怎么注销银行绑定的手机号码? 杭电acm 一直显示Runtime Error (ACCESS_VIOLATION) http:&#47;&#47;acm.hdu.edu.cn&#47;showproblem.php?pid=2030 银行卡丢了,绑定的手机号码注销了,怎么办? 之前绑定银行卡的手机号注销了,可以去银行从新绑定新的手机号吗 银行卡绑定的手机号注销了怎么办 工行银行卡预留手机号注销了怎么更换? 请问留学中介(正规 较有名)的申请顾问收入一般多少? 银行绑定的手机号码应该怎么注销? 男女同事用陌陌聊天正常吗? 陌陌这个聊天工具好不好 银行卡绑定的手机号码换了手机银行怎么登录 陌陌聊天软件,太不靠谱了,太假了,还是自己太天真了? 银行卡的预留手机号怎么改 用陌陌聊天能给我们带来什么?好处多还是坏处多?能通过它找到朋友和另一半吗? 银行柜面预留的手机号是啥意思? 陌陌上聊天,见面可靠吗 刚认识的陌陌男人聊什么好吗 之前听朋友说过 陌陌聊天软件,听到的是各种的不好,最近发现我女朋友没事就聊天,今晚吃饭时我拿她 陌陌是什么东西 聊天软件吗 聊天软件陌陌怎么样?