用c语言代码实现小明得知在沁湖边上有 n 个点,这 n 个点从1到 n 顺时针为围成一圈,每个点栽有一颗花树,有四种花树:梅花(花期1-3月)、樱花(花期3-4月)、石楠花(花期4-5月)、桂花(花期9-10月),每种花只在自己的花开花。小明给每个点标记一个值 Pi;, Pi的值表示该点是哪种花,1代表梅花,2代表樱花,3代表石楠花,4代表桂花。小明现在制定了 m 种观赏方案,每次定一个月份 x ,在 x 月去赏花,在由于沁湖太大,小明就选了湖边两个点 u 、 v ,想着就欣赏从 u 到 v 沿途的花就好了,因为湖中有桥,现在他发现从 u 走到 U 了几种不同的方式,他想知道沿途最多能看到多少棵树正在开花(走到一个点才能看见这个点的花是否开了,不能重复经过同一个点)。 Input 多组测试数据。 对于每组数据: 输入 n ,下一行输入 n 个数 Pi ,P2,…, Pn (2≤ n ≤105,1≤ pi ≤4)。 接下来输入两个数 p , q 表示这两点之间有一座桥(1≤ p . q ≤ n , p != g )。输入 m ,接下来输入 m 行,每行包括 r , u , v 。(1≤ m ≤10,1≤ x ≤ 12,1≤ u , v ≤ n , u != v ) Output 对于 m 种观赏方案,每次输出能看到的最多的正在开花的树的数量,若数量为零输出 so Sad .。每次输出占一行。
时间: 2024-02-21 16:00:49 浏览: 45
priority = 2, remaining time = 2)
Process 1 is running (priority = 3, remaining time = 3)
Process 2 is running (priority = 2, remaining time = 1)
Process 1 is running (priority = 3, remaining time以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int n, p[100005], bridge[2], m;
int vis[100005], max_flower[100005][13][5];
int max = 2)
Process 2 is running (priority = 2, remaining time = 0)
Process 2 has finished
Process (int a, int b) {
return a > b ? a : b;
}
int dfs(int u, int month, int flower)1 is running (priority = 3, remaining time = 1)
Process 1 is running (priority = 3, remaining time = 0)
Process 1 has finished
```
阅读全文