社区讨论
求dalao
P2613【模板】有理数取余参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lzs7gqck
- 此快照首次捕获于
- 2024/08/13 17:13 2 年前
- 此快照最后确认于
- 2024/08/13 20:00 2 年前
自己手写了一个check函数,但是快读部分使用出错。后来根据dalao的题解AC了,但是求助其他dalao我这个check函数哪里出错了qwq
(后来用了isdigit函数
AC code:
CPP#include<bits/stdc++.h>
#define p 19260817
using namespace std;
int x,y,a,b;
/*bool check(char s)
{
return (s>='0'&&s<='9');
}*/
inline int read()
{
int res=0,s=getchar();
while(!isdigit(s)&&s!=EOF) s=getchar();
while(isdigit(s))
{
res=(res<<3)+(res<<1)+(s-'0');
res%=p;
s=getchar();
}
return res;
}
void exgcd(int a,int b)
{
if(!b)
{
x=1,y=0;
return;
}
exgcd(b,a%b);
int tx=x;
x=y;
y=tx-a/b*y;
}
int main()
{
a=read(),b=read();
if(!b)
{
puts("Angry!");
return 0;
}
exgcd(b,p);
x=(x%p+p)%p;
printf("%lld",((long long)a*(long long)(x))%p);
return 0;
}
WA code:
CPP#include<bits/stdc++.h>
#define p 19260817
using namespace std;
int x,y,a,b;
bool check(char s)
{
return (s>='0'&&s<='9');
}
inline int read()
{
int res=0;
char s=getchar();
while(check(s))
{
res=((res<<3)+(res<<1)+(s-'0'))%p;
s=getchar();
}
while(!check(s)&&s!=EOF)
{
s=getchar();
}
return res;
}
void exgcd(int a,int b)
{
if(!b)
{
x=1,y=0;
return;
}
exgcd(b,a%b);
int tx=x;
x=y;
y=tx-a/b*y;
}
int main()
{
a=read(),b=read();
if(!b)
{
puts("Angry!");
return 0;
}
exgcd(b,p);
x=(x%p+p)%p;
printf("%lld",((long long)a*(long long)(x))%p);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...