c编程题+有多少个整点oj?
分清况讨论:当线段为水平或竖直时,两端点整数之间的搭建整数个数即为所求;
当线段为斜线时,其斜率|k|=|(y2-y1)/(x2-x1)|=|dy/dx|
dy和dx同除以它们的源码最大公约数,可将k化为既约分数的搭建形式|k|=|a|/|b|
那么线段上整点的x坐标一定满足|x-x1|能被|b|整除
所以问题转化为x1~x2上有多少个整数能被|b|整除
最后注意坐标的数据范围,为防止溢出都使用长整型long long
C代码和运行结果如下:
输出符合样例,源码望采纳~
附源码:
#include <stdio.h>
typedef long long ll;
ll abs(ll x) { // 返回绝对值
return x < 0 ?搭建api整站源码 -x : x;
}
ll gcd(ll a, ll b) { // 辗转相除法求最大公约数
return b ? gcd(b, a % b) : a;
}
int main() {
int T;
ll x1, y1, x2, y2, dx, dy, k;
scanf("%d", &T);
while (T--) {
scanf("%lld%lld%lld%lld", &x1, &y1, &x2, &y2);
if (x1 == x2) { // 位于同一竖直线上
printf("%lld\n", abs(y2 - y1) + 1);
}
else if (y1 == y2) { // 位于同一水平线上
printf("%lld\n", abs(x2 - x1) + 1);
}
else {
dx = abs(x2 - x1);
dy = abs(y2 - y1);
k = gcd(dx, dy);
k = dx / k; // 整点的x坐标一定满足|x-x1|能被k整除
printf("%lld\n", dx / k + 1);
}
}
return 0;
}
ubuntu下安装mysql5.5.并装hustoj
Ubuntu下安装MySQL 5.5.并部署Hustoj的详细步骤如下: 第一步:安装MySQL服务 执行命令:sudo apt-get install mysql-server mysql-client 第二步:解决无法操作数据问题 如果登录成功但无法操作数据,需要进行密码修改: 1. 打开配置文件:/etc/mysql/debian.cnf,源码找到相关的搭建密码信息。 2. 使用命令行编辑器打开文件:sudo gedit /etc/mysql/debian.cnf。源码 3. 修改密码后,搭建根据具体教程调整(参考:相关链接)。源码 4. 通过命令行修改密码:mysql -udebian-sys-maint -pdebian-sys-maint,搭建其中`debian-sys-maint`是源码配置文件中`user=`后的内容,根据实际情况输入,搭建然后输入新密码。源码 5. 进入MySQL控制台,修改root用户密码,futa波段公式源码确保安全性。 关于安装好MySQL后的登录错误,可通过以下步骤解决: 1. 使用命令修改密码:`mysqladmin -u用户名 -p旧密码 password 新密码`,确保新密码前有一个空格。 2. 测试登录:`mysql -h主机地址 -u用户名 -p用户密码`。 为了更全面地掌握MySQL的基本操作,以下是常见命令列表: ### MySQL服务操作 1. 启动服务:`net start mysql` 2. 停止服务:`net stop mysql` 3. 登录:`mysql -h主机地址 -u用户名 -p用户密码` 4. 退出:`quit` 5. 修改密码:`mysqladmin -u用户名 -p旧密码 password 新密码` ### 数据库操作 1. 列出数据库:`show databases` 2. 使用数据库:`use 数据库名称` 3. 创建数据库:`create database 数据库名称` 4. 删除数据库:`drop database 数据库名称` ### 表操作 1. 列出表:`show tables` 2. 创建表:`create table 表名称 (字段定义)` 3. 删除表:`drop table 表名称` 4. 显示表结构:`describe 表名称` 5. 清空表:`delete from 表名称` 6. 查询表内容:`select * from 表名称` ### 数据备份与恢复 备份:`mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql` 恢复:`mysql -u [user] -p [password] databasename < filename` ### 其他功能 修改表结构、数据迁移、Debian从源码编译创建新表等。 完成MySQL安装后,还需进行Hustoj的部署,具体步骤包括: 1. 更新系统:`sudo apt-get update` 2. 安装SVN:`sudo apt-get install subversion` 或 1. 更新系统:`sudo yum update` 2. 安装SVN:`sudo yum install subversion` 3. 从SVN仓库获取Hustoj源代码:`svn checkout /svn/trunk/install` 4. 进入Hustoj目录:`cd hustoj` 5. 编辑相关配置文件:`install.sh`和`web/include/db_info.inc.php` 6. 配置数据库用户名和密码 7. 执行安装脚本:`sudo ./install.sh`oj是什么意思
OJ是在线判题系统的意思。
在线判题系统是一种辅助学习编程的系统,可以自动判断程序员所编写的源代码是否正确。程序员将编写的源代码提交后,系统对源代码进行编译和执行,情缘API平台源码并将结果返回给程序员。通过在线判题系统,程序员可以方便地测试自己的代码,并找出其中的错误。
在线判题系统通常用于在线编程竞赛和练习题目的自动评判。它可以帮助参赛者快速检查自己的代码是否正确,并及时得到反馈。同时,裕云后端源码在线判题系统还可以记录参赛者的提交记录、得分和排名等信息,方便参赛者进行比较和竞争。
除了编程竞赛和练习题目外,在线判题系统还可以应用于各种编程学习场景。例如,学校或培训机构可以使用在线判题系统来布置编程作业,并进行自动评判和成绩统计。学生可以通过在线判题系统来提交作业,并及时得到反馈和指导。
总之,在线判题系统是一种非常有用的工具,可以帮助程序员快速测试自己的代码,提高编程能力和效率。
oj是什么
OJ,即Online Judge系统,一个用于在线检测程序源代码正确性的平台。通过编译执行代码并使用预设数据进行测试,OJ系统在程序开发过程中发挥关键作用。提交的代码需在受限环境下运行,包含时间、内存、安全等限制。其起源可追溯至ACM-ICPC国际大学生程序设计竞赛和OI信息学奥林匹克竞赛,用于自动判题与排名。如今,OJ系统广泛应用于全球高校程序设计训练、参赛选手训练与选拔、各类程序设计竞赛以及数据结构与算法的学习与作业自动提交判断。
计算机oj什么意思
OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性。OJ系统能够编译并执行代码,使用预设的数据对这些程序进行测试。提交的代码一般会在受限的环境下运行,包括时间限制、内存限制、安全限制等。
2024-12-02 08:13
2024-12-02 07:41
2024-12-02 07:37
2024-12-02 06:25
2024-12-02 06:03