末世苍雪

root@jtahstu.com   Github  

最新碎语:这个M1 MBP, PHP多版本环境装的我极度崩溃, 历时4个小时终于搞定了. 1. brew转不了7.x的环境, 默认只能装8.1, 恶心. 2. Nginx装上了, 但是请求转发不到php-fpm上, 试了各种配置都不行, 删掉Nginx转战Apache, 吐了. 3. 系统自带httpd, brew能装上httpd但搞死启动不了httpd, 只能手动启动和关闭httpd, 无语. 4. 以上问题都解决后, 加上自己写的启动和关闭脚本, 目前能正常跑起来PHP文件了, 开心! 为啥目前没有开源好用的M1 MNMP环境哇, o(≧口≦)o

您的位置:末世苍雪 >笔记> AC自动机五之自动AC南阳OJ

AC自动机五之自动AC南阳OJ

把抓取来的代码发送给OJ的判题页面,即可实现AC

<?php
header("Content-type: text/html; charset=utf-8");
$dbms = 'mysql';
$host = 'localhost';
$dbname = 'application';
$user = 'jtahstu';
$pass = 'jtahstu';
$dsn = "$dbms:host=$host;dbname=$dbname";
try {
 $dbh = new PDO($dsn, $user, $pass);
 $dbh -> exec("set names utf8");
 foreach ($dbh->query ( "select * from nyojAcCode where pid>1243;" ) as $row) {
  $pid = $row['pid'];
  $data = array('btn_submit' => '提交', 'code' => $row['code'], 'language' => '
  C/C++');
  // 初始化一个 cURL 对象
  $curl = curl_init();
  // 设置你需要抓取的URL
  curl_setopt($curl, CURLOPT_URL, 'http://acm.nyist.net/JudgeOnline/submit.php?pid=' . $pid);
  // 设置header
  curl_setopt($curl, CURLOPT_HEADER, 1);
  // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_COOKIE, "PHPSESSID=c1895521e889621a79413ec0a637c194");
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  // 运行cURL,请求网页
  $data = curl_exec($curl);
  // 关闭URL请求
  curl_close($curl);
  echo "第".$pid."题提交成功!<br>";
  sleep(1);
 }
} catch (PDOException $e) {
 die("Error!: " . $e -> getMessage() . "<br/>");
}
?>

---

本文章采用 知识共享署名2.5中国大陆许可协议 进行许可,转载必须注明作者和本文链接。

---

二维码加载中...

扫一扫移动端访问O(∩_∩)O

发表评论

24 + 45 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交
正在加载中……