1.
static class chess {
int id;
int num;
public chess(int id, int num) {
this.id = id;
this.num = num;
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] str = scan.nextLine().split(" ");
int n = Integer.parseInt(str[0]);
int m = Integer.parseInt(str[1]);
int id = Integer.parseInt(str[2]);
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
str = scan.nextLine().split(" ");
for (int j = 0; j < m; j++) {
nums[i] += Integer.parseInt(str[j]);
}
}
List<chess> list = new ArrayList<chess>();
for (int i = 0; i < n; i++) {
list.add(new chess(i, nums[i]));
}
list.sort(new Comparator<chess>() { @Override public int compare(chess o1, chess o2) {
if (o1.num != o2.num) {
return o2.num - o1.num;
}
else {
return o1.id - o2.id;
}
}
});
for (int i = 0; i < list.size(); i++) {
if (list.get(i).id == id - 1) {
System.out.println(i + 1);
break;
}
}
}
2.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String[] str = scan.nextLine().split(" ");
int n = Integer.parseInt(str[0]);
long k = Long.parseLong(str[1]);
str = scan.nextLine().split(" ");
long[] nums = new long[n];
for (int i = 0; i < n; i++) {
nums[i] = Long.parseLong(str[i]);
}
Arrays.sort(nums);
int slow = 0;
int fast = 0;
int res = 0;
while (slow < n) {
fast = slow + 1;
while (fast < n) {
long temp = nums[fast] * nums[slow];
if (temp >= k) {
break;
}
fast++;
}
res += 2 * (n - fast);
slow++;
}
System.out.println(res);
}
3.
private static int res;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
int n = Integer.parseInt(str);
boolean[][] nums = new boolean[n + 1][n + 1];
String[] strs = scan.nextLine().split(" ");
for (int i = 1; i < n; i++) {
int num = Integer.parseInt(strs[i - 1]);
if (i + 1 > num) {
nums[i + 1][num] = true;
}
else {
nums[num][i + 1] = true;
}
}
HashSet<Integer> set = new HashSet<Integer>();
dfs(nums, set, 0, 2);
System.out.println(res);
}
private static void dfs(boolean[][] nums, HashSet<Integer> set, int sum, int index) {
for (int i = index; i < nums.length; i++) {
for (int j = 1; j < i; j++) {
if (!nums[i][j]) {
continue;
}
else {
if (set.contains(i)) {
break;
}
else if (set.contains(j)) {
continue;
}
else {
set.add(i);
set.add(j);
sum++;
dfs(nums, set, sum, i + 1);
sum--;
set.remove(i);
set.remove(j);
}
}
}
}
res = Math.max(res, sum);
}
#小红书##笔试#