当前位置:   article > 正文

蓝桥杯 分考场(Java)_java,n 个人参加某项特殊考试。为了公平,要求任何两个认识的人不能分在同一个

java,n 个人参加某项特殊考试。为了公平,要求任何两个认识的人不能分在同一个

 

问题描述

  n个人参加某项特殊考试。
  为了公平,要求任何两个认识的人不能分在同一个考场。
  求是少需要分几个考场才能满足条件。

输入格式

  第一行,一个整数n(1<n<100),表示参加考试的人数。
  第二行,一个整数m,表示接下来有m行数据
  以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人认识。

输出格式

  一行一个整数,表示最少分几个考场。

样例输入

5
8
1 2
1 3
1 4
2 3
2 4
2 5
3 4
4 5

样例输出

4

样例输入

5
10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5

样例输出

5

  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner sca = new Scanner(System.in);
  5. int n = sca.nextInt();//参加考试人数
  6. int m = sca.nextInt();//m行数据
  7. int[][] arr = new int[n][n];
  8. for(int i = 0;i < m;i++) {
  9. int a = sca.nextInt()-1;
  10. int b = sca.nextInt()-1;
  11. arr[a][b] = 1;//第a个人与第b个人认识
  12. arr[b][a] = 1;
  13. }
  14. sca.close();
  15. int res = solve(arr);
  16. System.out.println(res);
  17. }
  18. private static int solve(int[][] arr) {
  19. for(int i = 1;i <= arr.length;i++) {
  20. if(ckeck(arr, i))
  21. return i;
  22. }
  23. return arr.length;
  24. }
  25. private static boolean ckeck(int[][] arr, int i) {
  26. int[] boo = new int[arr.length];
  27. boo[0] = 1;
  28. return step(arr, boo, 1, 1, i);
  29. }
  30. private static boolean step(int[][] arr, int[] boo, int cur, int max, int limit) {
  31. if(max > limit) return false;
  32. if(cur >= arr.length) return true;
  33. for(int i = 1;i <= max;i++) {
  34. boo[cur] = i;
  35. if(re_check(arr, boo, cur) && step(arr, boo, cur+1, max, limit)) return true;
  36. boo[cur] = 0;
  37. }
  38. boo[cur] = max + 1;
  39. if(step(arr, boo, cur+1, max + 1, limit)) return true;
  40. boo[cur] = 0;
  41. return false;
  42. }
  43. private static boolean re_check(int[][] arr, int[] boo, int cur) {
  44. for(int i = 0;i < arr.length;i++) {
  45. if(cur == i) continue;
  46. if(arr[cur][i] == 1 && boo[i] == boo[cur]) return false;
  47. }
  48. return true;
  49. }
  50. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/64391
推荐阅读
相关标签
  

闽ICP备14008679号