黑马程序员技术交流社区
标题: 编程求解。 [打印本页]
作者: 廉伟 时间: 2012-9-10 08:39
标题: 编程求解。
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
作者: 周磊 时间: 2012-9-10 09:09
本帖最后由 周磊 于 2012-9-10 09:12 编辑
class AA
{
//如果这儿字符串比较长可以用递归得出全排列,这儿由于只有三个字符,所以直接得出
static String[] m={"xyz","xzy","yzx","yxz","zxy","zyx"};
//进行条件判断
static void f(){
for(int i = 0;i<m.length;i++){
if(m.toCharArray()[0]!='x'){
if(m.toCharArray()[2]!='x' && m.toCharArray()[2]!='z')
System.out.println("abc对应的选手为:"+m);
}
}
}
public static void main(String[] args) {
f();
}
}
程序结果:abc对应的选手为:zxy
这种题的思路就是先把所有的可能性先得出,再由条件进行筛除,最终得到最后的答案,如果是可能性比较多的情况,会使用递归的方法
作者: 王陶成 时间: 2012-9-10 09:31
用循环出来
public class BiSaiNing {
public static void main(String[] args) { for(int a=120;a<123;a++) { for(int b=120;b<123;b++) { for(int c=120;c<123;c++) { if(a!=120&&c!=122&&c!=120&&a!=b&&a!=c&&b!=c) { char m=(char)a; char n=(char)b; char q=(char)c; System.out.println("a对手是:"+m+"\tb对手是:"+n+"\tc对手是:"+q); } } } } } }
作者: 舒远 时间: 2012-9-10 10:37
- import java.util.HashSet;
- public class PingPong {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- char[] b = { 'x', 'y', 'z' };
- HashSet<String> set = new HashSet<String>();
- perm(b, 0, set);
- for (String s : set) {
- if (s.length() >= 3) {
- if (s.charAt(0) != 'x') {
- if (s.charAt(2) != 'x' && s.charAt(2) != 'z') {
- System.out.println("abc对应的选手是:" + s);
- return;
- }
- }
- }
- }
- }
-
- static void swapArrayElements(char a[], int lhs, int rhs) {
- char temp = a[lhs];
- a[lhs] = a[rhs];
- a[rhs] = temp;
- }
-
- /**
- * 字符数组全排列
- *
- * @param a
- * @param start
- * @param set
- */
- static void perm(char a[], int start, HashSet<String> set) {
- if (start == a.length - 1) {
- // 输出排列结果
- set.add(new String(a));
- return;
- }
- else {
- for (int i = start; i <= a.length - 1; i++) {
- // 将数组片段的各元素与首元素交换
- swapArrayElements(a, start, i);
- // 对交换后的,去掉首元素的数组片段进行全排列
- perm(a, start + 1, set);
- // 交换回来
- swapArrayElements(a, start, i);
- }
- }
- }
- }
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |