2019年ccf第5題317号サブタスクについて
9451 ワード
最初の接触図論アルゴリズムはこの問題を書いてからテストサンプルに合格することができますが、提出してからいつも間違いを提示して、先に掛けています.のいつバグを見つけられるか分からない
(最後にreturn前のsystem(「pause」)はvsで調整して試用するためのものです)
男の人も間違いを見てほしいですね(今日申請したばかりのブログ)
転載先:https://www.cnblogs.com/cs-yxk/p/11488413.html
(最後にreturn前のsystem(「pause」)はvsで調整して試用するためのものです)
男の人も間違いを見てほしいですね(今日申請したばかりのブログ)
1 #include
2 #include
3 using namespace std;
4 #define inf 1001
5 int a[10000][10000];//
6 bool kind[10000];//
7 int sort_array[10000];
8 int main()
9 {
10 int n, m, k;
11 cin >> n >> m >> k;
12 for (int i = 0; i < n; i++)
13 cin >> kind[i];
14 for (int i = 0; i < n; i++)
15 for (int j = 0; j < n; j++)
16 if (i == j)
17 a[i][j] = 0;
18 else
19 a[i][j] = inf;
20
21 //
22 for (int i = 0; i < m; i++)
23 {
24 int p, q, r;
25 cin >> p >> q >> r;
26 a[p - 1][q - 1] = r;
27 a[q - 1][p - 1] = r;
28 }//
29
30 //floyd
31 for (int k = 0; k < n; k++)
32 for (int i = 0; i < n; i++)
33 for (int j = 0; j < n; j++)
34 {
35 if (a[i][k] + a[k][j] < 2003 && a[i][k] + a[k][j] < a[i][j])
36 a[i][j] = a[i][k] + a[k][j];
37 }
38
39 for (int i = 0; i < n; i++)// m
40 {
41 int pointer = 0;// sort_array
42 for (int j = 0; j < 10000; j++)
43 {
44 sort_array[j] = inf;
45 }//
46 for (int j = 0; j < n; j++)
47 {
48 if (kind[j])
49 {
50 sort_array[pointer] = a[i][j];
51 pointer++;
52 }
53 }// sort_array
54
55 // sort sort_array
56 sort(sort_array, sort_array + pointer);
57 int sum = 0;
58 for (int p = 0; p < k; p++)
59 {
60 if (sort_array[p] <= 1000)
61 sum += sort_array[p];
62 }
63 cout << sum << endl;
64 }
65 system("pause");
66 return 0;
67 }
転載先:https://www.cnblogs.com/cs-yxk/p/11488413.html