一个简单可靠的五子棋算法 [问题点数:200分,结帖人wartim]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs7
本版专家分:23333
结帖率 97.14%
Bbs7
本版专家分:10774
Bbs1
本版专家分:56
Bbs7
本版专家分:10774
Bbs2
本版专家分:138
Bbs6
本版专家分:7085
Bbs7
本版专家分:23333
Bbs14
本版专家分:816153
Blank
名人 2019年 荣获名人称号
2012年 荣获名人称号
Blank
状元 2010年 总版技术专家分年内排行榜第一
2009年 总版技术专家分年内排行榜第一
Blank
榜眼 2011年 总版技术专家分年内排行榜第二
Blank
金牌 2011年3月 总版技术专家分月排行榜第一
2011年2月 总版技术专家分月排行榜第一
2011年1月 总版技术专家分月排行榜第一
2010年12月 总版技术专家分月排行榜第一
2010年11月 总版技术专家分月排行榜第一
2010年10月 总版技术专家分月排行榜第一
2010年9月 总版技术专家分月排行榜第一
2010年8月 总版技术专家分月排行榜第一
2010年7月 总版技术专家分月排行榜第一
2010年6月 总版技术专家分月排行榜第一
2010年5月 总版技术专家分月排行榜第一
2010年3月 总版技术专家分月排行榜第一
2010年4月 总版技术专家分月排行榜第一
2010年2月 总版技术专家分月排行榜第一
2010年1月 总版技术专家分月排行榜第一
2009年12月 总版技术专家分月排行榜第一
2009年11月 总版技术专家分月排行榜第一
2009年10月 总版技术专家分月排行榜第一
2009年8月 总版技术专家分月排行榜第一
2009年7月 总版技术专家分月排行榜第一
2009年6月 总版技术专家分月排行榜第一
Bbs1
本版专家分:54
Bbs7
本版专家分:23333
Bbs1
本版专家分:10
Bbs6
本版专家分:7445
Bbs7
本版专家分:12145
Bbs7
本版专家分:23515
Blank
红花 2005年4月 硬件使用大版内专家分月排行榜第一
2005年3月 硬件使用大版内专家分月排行榜第一
Blank
黄花 2009年12月 .NET技术大版内专家分月排行榜第二
2005年9月 硬件使用大版内专家分月排行榜第二
Blank
蓝花 2005年7月 硬件使用大版内专家分月排行榜第三
2005年6月 硬件使用大版内专家分月排行榜第三
Bbs1
本版专家分:77
Bbs4
本版专家分:1884
Bbs3
本版专家分:975
版主
Bbs4
本版专家分:1658
Bbs3
本版专家分:975
版主
Bbs6
本版专家分:7495
Bbs3
本版专家分:975
版主
Bbs7
本版专家分:23957
Bbs9
本版专家分:70904
Bbs6
本版专家分:7492
Bbs2
本版专家分:112
Bbs1
本版专家分:40
Bbs1
本版专家分:67
Bbs7
本版专家分:23333
Bbs7
本版专家分:23333
Bbs4
本版专家分:1218
Bbs1
本版专家分:4
Bbs2
本版专家分:161
Bbs1
本版专家分:3
Bbs2
本版专家分:161
Bbs2
本版专家分:247
Bbs7
本版专家分:23333
Bbs5
本版专家分:3348
Bbs6
本版专家分:9018
Bbs8
本版专家分:30300
Bbs5
本版专家分:3224
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Bbs1
本版专家分:51
版主
Bbs1
本版专家分:53
Bbs3
本版专家分:760
Bbs9
本版专家分:70904
Bbs7
本版专家分:23333
Bbs2
本版专家分:260
Bbs2
本版专家分:154
Bbs1
本版专家分:23
Bbs7
本版专家分:14920
Bbs4
本版专家分:1972
Bbs3
本版专家分:975
版主
五子棋的bot----五子棋算法
使用的是北大信科开发的AI平台,百度搜素botzone,或者直接输入https://www.botzone.org.cn/ 代码已经在平台上参与排行,成绩还行,现分享给大家。 #include<math.h> #include<stdlib.h> #include<time.h> #include<iostream> #include<...
五子棋AI算法第五篇-算杀
关于剪枝问题前面讲到的通过Alpha-Beta剪枝和启发式搜索可以将4层搜索的平均时间降低到1秒以下。只有这两个优化方式其实目前最多可以做到6层搜索,就是把AI和玩家各向后推算三步。6层搜索的棋力其实相当弱,碰到经常玩<em>五子棋</em>的人基本都会输,更不要说对<em>五子棋</em>有研究的玩家。以目前的平均<em>一个</em>节点有50个子节点的搜索方式,把搜索效率提高50倍则可以增加一层搜索深度。而除了前面讲到的AlphaBeta剪枝和启
博弈基础——极大极小搜索
博弈基础
五子棋(人机)-alpha-beta剪枝
alpha:表示目前为止找到的最小数 beta:表示目前为止找到的最大数 1.极大层的上一层是极小层。一方面极大层找的是自己的子节点中的最大值,另一方面极大层的上一层找的是极大层们提供的节点中的最小<em>一个</em>。 2.如果极大层已经遍历完整<em>一个</em>子树,得到子节点值为tmp,那么就表示该极大层向上提供的节点值至少大于等于tmp(因为极大层向上返回的是孩子中的最大值) 3.如果tmp已经大于了极大层上一
五子棋AI算法简易实现(一)
基础篇 (1)胜负判定 <em>五子棋</em>的胜负判定的条件是其中一方下棋以后,横线、竖线、右上斜线或者右下斜线任一方向出现五子相连,即可判定获胜。此处用递归方法即可实现。 var is_win = false; var ModuleWinnerCheck = { checkWinner: function(color, num) { var col = n...
五子棋游戏纯C实现
首先这是<em>一个</em>用c语言实现的<em>五子棋</em>游戏,实现手法<em>简单</em>,<em>算法</em>思想<em>简单</em>,只用到了一些基础的C的知识。 一:画出界面 首先现在界面上画出棋盘的样子,利用自定义函数draw_lline()画出我们的所要使用到的棋盘的样子,控制好间隔,距离坐标,颜色等因素即可。 二:定义棋盘棋子状态 定义<em>一个</em> 全局的数组 a[ROW][COL]用来表示棋盘所有的空格状态,没有棋子为0,有黑子或者白子为1或者2,根据...
两种五子棋算法详解
转自:http://www.cnblogs.com/pains/archive/2007/10/27/939673.html   这里讲述棋盘大小为10×10的人机对战<em>五子棋</em>实现方法,要看完整代码请看Java做的<em>五子棋</em>     1.         概述   玩家每走一步,对于玩家和计算机,都根据获胜表对棋盘各个空棋位进行评分,每个位置的分数与下面这句话有关:该位置所在的每一种获...
Python 五子棋AI实现(3):极大极小值搜索和alpha beta剪枝
python <em>五子棋</em>AI实现(3):alpha beta剪枝和启发式评估alpha beta剪枝<em>算法</em>启发式评估代码实现完整代码 alpha beta剪枝<em>算法</em> 启发式评估 代码实现 完整代码
基于α-β剪枝算法实现的AI五子棋游戏
一、对抗问题对抗问题:顾名思义,博弈双方是带有对抗性质的。博弈的任何一方都希望局面尽量对自己有利,同时局面也应该尽量令对方不利。通常这一类问题可以通过 Minimax <em>算法</em>解决。Minimax <em>算法</em>又名极小化极大<em>算法</em>,是一种找出失败的最大可能性中的最小值的<em>算法</em>。Minimax <em>算法</em>常用于棋类等由两方较量的游戏和程序,这类程序由两个游戏者轮流,每次执行<em>一个</em>步...
Minimax算法及实例分析
计算机科学中最有趣的事情之一就是编写<em>一个</em>人机博弈的程序。有大量的例子,最出名的是编写<em>一个</em>国际象棋的博弈机器。但不管是什么游戏,程序趋向于遵循<em>一个</em>被称为Minimax<em>算法</em>,伴随着各种各样的子<em>算法</em>在一块。    Minimax<em>算法</em>又名极小化极大<em>算法</em>,是一种找出失败的最大可能性中的最小值的<em>算法</em>。Minimax<em>算法</em>常用于棋类等由两方较量的游戏和程序,这类程序由两个游戏者轮流,每次执行<em>一个</em>步骤。我
五子棋AI算法第七篇-Zobrist
关于本博客这个博客不是把<em>五子棋</em><em>算法</em>研究透彻之后再写的,而是一边研究<em>算法</em>一边写代码,同时一边写博客,所以有些博文的顺序不太对,比如 Zobrist 其实应该放在算杀之前就讲的。不过这并没有大的影响,总体上的顺序是OK的。另外,这一系列博客讲的<em>五子棋</em>代码其实是<em>一个</em>开源的项目,源码地址: https://github.com/lihongxun945/gobang由于是边写代码边写博客,所以博客中的代码不
五子棋AI极大值极小值算法评价函数的问题
这个评价函数应该从什么角度来写,极大值和极小值叶子节点的评价函数是不是需要评价角度不同? 如果AI方是极大者,按照极大值叶子节点评价极大者方的落子利益,值取正; 极小值叶子节点评价极小值方的落子效益,值取负。 这样的思路来写,搜索深度使极小值为叶子节点时,就会出现AI评定里棋盘边角落子收益更大的情况,而且偏防守。
五子棋AI算法第二篇-极大极小值搜索算法
AI实现的基本思路-极大极小值搜索<em>算法</em><em>五子棋</em>看起来有各种各样的走法,而实际上把每一步的走法展开,就是一颗巨大的博弈树。在这个树中,从根节点为0开始,奇数层表示电脑可能的走法,偶数层表示玩家可能的走法。假设电脑先手,那么第一层就是电脑的所有可能的走法,第二层就是玩家的所有可能走法,以此类推。我们假设平均每一步有50种可能的走法,那么从根节点开始,往下面每一层的节点数量是上一层的 50被,假设我们进行4
通过alpha-belta剪枝的极大极小值算法实现简单五子棋+A*算法与IDA*算法解决走迷宫问题
通过alpha-belta剪枝的极大极小值<em>算法</em>实现<em>简单</em>的<em>五子棋</em>+A*<em>算法</em>与IDA*<em>算法</em>解决走迷宫问题
五子棋核心算法
本文主要介绍<em>五子棋</em>核心<em>算法</em>,利用了<em>一个</em>三维数组来判断4个方向的棋子数,具体代码如下: public class block { //判断0为白棋1为黑棋 private int type; public int Type { get { return type; } set { type = value; } } pr...
五子棋AI算法简易实现(五)
电脑AI篇 (2)生成落子位置的函数 这个部分我把它分成了两个函数: 1. 找出双方所有可能下子的位置(generateAllNextPossibleMove函数) 2. 在这些位置中进行挑选,选出能够产生更大优势的下子位置,减少博弈树搜索节点的次数(pointsFilter函数) 2.2 落子位置的筛选 这一部分主要参考了 http://blog.csdn....
五子棋算法源码
<em>五子棋</em><em>算法</em>源码(命令行编译之后可直接运行,IDE工具的编译环境为jdk)
C++,判断五子棋输赢,有无好的方法
看到<em>五子棋</em>判断输赢的大多是遍历一类,感觉很麻烦。我觉得应该有个比较好的<em>算法</em>。比如用<em>一个</em>函数判断,<em>一个</em>子和邻近的<em>一个</em>字是否同色,如同色,则计数器+1。然后用棋子使用此函数迭代,如计数器满5,则能判断输赢
五子棋算法详解下载
NULL 博文链接:https://as3.iteye.com/blog/1223203 相关下载链接://download.csdn.net/download/weixin_38669628/110
(只此一篇便绝b能懂的)五子棋AI算法原理,博弈树、极大极小搜索、αβ剪枝
我在最近撰写<em>五子棋</em>AI程序设计报告时,翻阅了很多的资料博客,但却发现大佬们的博客,没有一篇是能让我只看它就能理解全部的AI<em>算法</em>。在看了众多博客后,我终于对博弈树、极大极小搜索、αβ剪枝恍然大悟,其实这些看似高大上的<em>算法</em>,其背后的想法都十分直白朴素。人们都说刚刚学会一项技能的人,是这个技能最好的老师,所以我便试着写了我这人生中的第一篇博客QVQ! 由于这是一篇<em>算法</em>原理博客,旨在让读者理解,里面就不...
五子棋AI算法
最近写了个<em>五子棋</em>的AI<em>算法</em>,整个<em>算法</em>还是比较<em>简单</em>的,在此记录一下,方便以后忘记的时候回来看看。棋盘是<em>一个</em>二位数组,然后计算出每<em>一个</em>位置的黑子权重和白子权重,取权重最大的位置就是AI下棋的位置。因为需求对AI下棋没有过高要求,所以我在此仅做了个<em>简单</em>的实现。黑子权重:计算出二维数组每<em>一个</em>未下棋子的点的四个方向(横向/纵向/左斜/右斜)连续(一定要连续)黑子的数量(包括当前点,可以理解为假如在此点下子)...
用C语言编写五子棋算法计算的问题,怎么解决????
Problem Description The ACM Team of WHU is planning an online AI arena for Go-bang (Five in a Row). Now, we need some help. We all know the famous game "Five in a Row". It is traditionally played with go pieces (black and white stones) on a go board (15x15 intersections). The winner is the first player to get an unbroken row of five stones horizontally, vertically, or diagonally. We now have an uncompleted game, that is to say, yet no one won. You are required to tell us that whether the next player could win within one step or not. Input The input consists of multiple test cases. The first line of input contains an integer T, which is the number of test cases. Each test case is a 15 * 15 go board, 'B' represent for a black stone while 'W' for white ones. '.' represents cross with no stone represented by 0. [Technical Specification] T is an integer, and T . Sample Input 2 ........W...... ..W......W...B. .W....B........ .W.......W..... ..BB....W...... ...B........... ....B........WW ...........B... ....W.......... .W..B.B....WBB. BW........B.W.B ............... W.....BB.W....W B..B.W.BB....B. ........WW..... ...B...W..BBW.. W..WBW..W...B.. ...W..WBW...... .....BWW..B.B.. ..BW.B.B..W.... B..W..WBW...... B......B......W B.B...B....W... ....B.WB...B... B.W............ .....WW...B.... ..B.....B...W.W .W.........WBW. B.............. ..W.B...W..W..B Sample Output NO YES
C语言五子棋算法
作者:unknown 更新时间: 2005-03-13    任何一种棋类游戏其关键是对当前棋局是否有正确的评分,评分越准确则电脑的AI越高。<em>五子棋</em>游戏也是如此,但在打分之前,我们先扫描整个棋盘,把每个空位从八个方向上的棋型填入数组gStyle(2, 15, 15, 8, 2),其中第<em>一个</em>下标为1时表示黑棋,为2时表示白棋,第二和第三个下标表示(x,y),第四个下标表示8个方向,最后<em>一个</em>下标为1时
五子棋AI算法(二)
<em>五子棋</em>AI<em>算法</em>第二章——博弈树与极大极小值搜索
一个一年前用C语言写的很简陋的控制台版的五子棋游戏,顺便散分攒人品
/** 发<em>一个</em>一年前大一下学期暑假8月中下旬用C语言写的控制台版的<em>五子棋</em>游戏。 <em>简单</em>说一点当初写游戏的情况,那时由于受到8皇后问题的启发(当时我用的是蛮力法一层又一层if解决的,虽然现在知道应该用回溯
算法分析与设计课程设计(五子棋)绝对经典)
1 引言 1.1 <em>五子棋</em>介绍 <em>五子棋</em>是起源于中国古代的传统黑白棋种之一。现代<em>五子棋</em>日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),
算法-决策树
1.决策树的定义       树想必大家都会比较熟悉,是由节点和边两种元素组成的结构。理解树,就需要理解几个关键词:根节点、父节点、子节点和叶子节点。       父节点和子节点是相对的,说白了子节点由父节点根据某一规则分裂而来,然后子节点作为新的父亲节点继续分裂,直至不能分裂为止。而根节点是没有父节点的节点,即初始分裂节点,叶子节点是没有子节点的节点,如下图所示:   图1.1 树的结构
五子棋算法——人工智能
这里设计和实现了<em>一个</em>人机对下的<em>五子棋</em>程序,采用了博弈树的方法,应用了剪枝和最大最小树原理进行搜索发现最好的下子位置。介绍<em>五子棋</em>程序的数据结构、评分规则、胜负判断方法和搜索<em>算法</em>过程。
五子棋算法判断输赢
<em>五子棋</em>相信大部分人都玩过,至少应该听说过。(<em>五子棋</em>源码) 简述一下规则:当在棋盘的横行或竖行或斜行(左斜与右斜)有五个及以上连续的棋子的时候,则为赢。 分析一下<em>五子棋</em>的<em>算法</em>,当下<em>一个</em>棋子的时候(对应相应的棋盘应该有<em>一个</em>坐标),应该判断下的棋子的横行,横行或竖行或斜行(左斜与右斜)是否满足连续棋子的个数大于等于5个,每次下<em>一个</em>棋子的时候都应该有所判断,每次都应该对4个大的方向(横行,竖行,左斜,...
五子棋算法比较强悍)
很好很强大的<em>五子棋</em><em>算法</em>
五子棋算法:判断禁手
ForbiddenPointFinder.h #if !defined(FORBIDDENPOINTFINDER_H_INCLUDED_) #define FORBIDDENPOINTFINDER_H
五子棋的人工智能算法
求教高手<em>一个</em><em>算法</em>问题: 有这样<em>一个</em>模型: 有<em>一个</em>模拟<em>五子棋</em>棋盘的15 * 15的数组: 已下黑子处其值为1; 已下白子处其值为2; 没下子处其值为0; 已知棋盘状态和当前该谁下子; 求出该子最好下于何
#java 五子棋 java实现五子棋AI算法详解
java实现<em>五子棋</em> AI<em>算法</em>详解 学习本文内容需要先准备的知识:窗体编写、窗体元素添加、窗体绘制线条、窗体绘制填充圆 1、 前期准备: (1)、棋盘的绘制:在<em>一个</em>窗口里绘制一定的水平线和垂直线,使之交叉构成棋盘; (2)、棋子的呈现方法:鼠标点击指定位置的时候,获取指定位置的坐标,找到与所点击位置距离最近的棋盘上的线条交叉点,在此绘制<em>一个</em>填充圆(注意,java画圆的方法需要提供的参数有...
五子棋AI算法第一篇-我对谷歌Alphago的看法
最近Google宣布他们的围棋AI以5:0的战绩打败欧洲围棋三冠王。我一直对人工智能比较感兴趣,正好趁年前空闲的几天用JS写了<em>一个</em><em>五子棋</em>的AI。其实很久以前就用自创的<em>算法</em>写过<em>一个</em>JAVA版的<em>五子棋</em>AI,不过棋力很不理想。这次用的是JS写的,所以无论任何平台上只要能打开网页的都可以玩。google爆出这个新闻之后,很多人觉得这是不是意味着电脑智商已经在人类之上了,围棋已经没有意义了之类的。甚至觉得这是
一种基于机器学习的五子棋实现
远望研发部 周晨威,蔡斌松 概述 早些年,IBM研发的深蓝机器人战胜了当时的国际象棋冠军,引发了人们对人工智能的关注, 去年,谷歌的alphaGo战胜了李世石九段,又引发了一场人工智能和机器学习的热潮。随着新<em>算法</em>的和<em>算法</em>变种的出现,人工智能特别是机器学习领域又被推向了计算机行业的风口浪尖。如今人工智能已经深入到生活的各个方面,比如手机上的siri,电脑上的小娜,离我们最近的可能是各种推送的
五子棋AI算法简易实现(六)
电脑AI篇 (3)Minimax<em>算法</em>(极小极大值搜索<em>算法</em>) 这是<em>五子棋</em>AI进行下子位置判断的基本方法,是整个AI最核心的<em>算法</em>。 A minimax algorithm is a recursive algorithm for choosing the next move in an n-player game, usually a two-player game. A valu...
简单五子棋算法
由于不是五手两打开局,所以执黑必胜,所以推荐执白 而且禁手只考虑了长连   <em>五子棋</em>理论上已经证明过如果没有任何规则,执黑先行的人如果每一步都应对得正确的话,是必胜的,也就是说,执黑因为有先手优势,每一步都有必胜的落子点,白棋不管怎么应对,结果都是很输的,所以为了抵消执黑的优势,在国际<em>五子棋</em>比赛里才规定了五手两打和禁手的规则,  所谓的五手两打就是执黑和执白各走了二步后执黑连
五子棋小程序算法介绍
    前些天做了个连连看小程序,这几天手又痒了,用朋友的话说就是变<em>算法</em>仔了,这些一直在写<em>五子棋</em>的小程序,改了几次,终于有那么点智商了,发上来说下我的<em>算法</em>,先预览下游戏图片吧。      本次作品<em>五子棋</em>,AI<em>算法</em>采用广度搜索,对棋盘局势进行评分,以分数作为参考标准,对下一步行动提供依据。      棋盘局面分析:              以常理推断,当
五子棋及其算法简单实现
<em>简单</em>的实现<em>五子棋</em>,<em>算法</em>简便,注释明了,一目了然
C++五子棋 评分算法类实现
C++<em>五子棋</em>小程序 通过评分<em>算法</em>找到最佳下棋位置 支持选择先手方
五子棋算法 + 五子棋AI 估价算法
     今天有人提起<em>五子棋</em>的<em>算法</em>问题,就把以前开发的源码直接贴出来了。大家去看源码学习吧因为<em>五子棋</em><em>算法</em>如果要写说明可能会写非常大一贴。所以在此就只做<em>简单</em>的原理说明,具体的下载源码研究吧。很多人第1步肯定会问起<em>五子棋</em>如何判断5子相连。基本只要熟悉2维数组应用的程序员就比较容易理解了。 在此用2维数组 白字为0  黑子为1 用数组判断,很快就能判断出是否五子相连比如用这样的小数组表示棋盘:arr[0]=[0,0,0,0,1]
五子棋的核心算法
<em>五子棋</em>是一种受大众广泛喜爱的游戏,其规则<em>简单</em>,变化多端,非常富有趣味性和消遣性。这里设计和实现了<em>一个</em>人机对下的<em>五子棋</em>程序,采用了博弈树的方法,应用了剪枝和最大最小树原理进行搜索发现最好的下子位置。介绍<em>五子棋</em>程序的数据结构、评分规则、胜负判断方法和搜索<em>算法</em>过程。一、相关的数据结构    关于盘面情况的表示,以链表形式表示当前盘面的情况,目的是可以允许用户进行悔棋、回退等操作。    CList St
五子棋AI算法-之开篇
大概所需<em>算法</em>:           MinMax Search<em>算法</em>    Alpha-beta剪枝<em>算法</em>    博弈树          哈希置换表    历史启发<em>算法</em>   MTD(F)   PVS 网站: <em>五子棋</em>专题--所有的博客都是关于AI<em>算法</em> http://www.cnblogs.com/zcsor/ 计算机博弈--所需要的<em>算法</em>基本差不多--推荐指数五星 http://www.xqbase.com/computer.htm Gomoku
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
简单好用的PHP源码整站下载
这个不是模板,简单好用,自已开发,有问题Q我303380836。 相关下载链接:[url=//download.csdn.net/download/xlbigsea/4496737?utm_source=bbsseo]//download.csdn.net/download/xlbigsea/4496737?utm_source=bbsseo[/url]
数据库原理下载
这个ppt课件是《数据库原理》的经典课件,sql是结构化查询语言的缩写,掌握sql对于今后的数据库应用领域有很大帮助 相关下载链接:[url=//download.csdn.net/download/q810183409/5988361?utm_source=bbsseo]//download.csdn.net/download/q810183409/5988361?utm_source=bbsseo[/url]
航拍参数计算安卓手机版本下载
航拍参数计算安卓手机版本,安卓手机都可以安装,方便使用 相关下载链接:[url=//download.csdn.net/download/qq187208773/8469629?utm_source=bbsseo]//download.csdn.net/download/qq187208773/8469629?utm_source=bbsseo[/url]
我们是很有底线的