A_ChangingVolume
题意
遥控器六个按钮, -5 -3 - 1 +1 +3 +5
T 组数据, 从 当前音量 到 指定音量 最少需要按几次音量键
题解
…
代码
#include <bits/stdc++.h>
using namespace std;
#define rg register
#define sc scanf
#define pf printf
typedef long long ll;
int main ( ) { // freopen( "F:\\in\\.txt" , "r" , stdin );
int T,
u, v;
sc( "%d" , &T );
while( T-- ) {
sc( "%d%d", &u, &v );
if ( u==v ) {
puts( "0" );
continue;
}
int len = abs( u-v );
int a[3] = { 5, 2, 1 };
int cnt = 0;
for ( int i = 0; i < 3; ++i ) {
cnt += ( len/a[i] );
len %= a[i];
}
cout << cnt << endl;
}
return 0 ;
}
B_FridgeLockers
题意
每个冰箱的主人知道与冰箱直接相连的锁链的密码, 每个冰箱被锁链连接是有花费的, 求保证冰箱只能被自身主人打开所需要的最小花费
T 组数据,
每组数据第一行 给定两个数 n, m, 指的是 n 个冰箱, m 条锁,
每组数据第二行 给定 n 个 每个冰箱被连接的花费
每组数据输出使所有冰箱都只能被冰箱自身主人打开所需要的 最小花费
题解
…
代码
#include <bits/stdc++.h>
using namespace std;
#define rg register
#define sc scanf
#define pf printf
typedef long long ll;
int main ( ) { // freopen( "F:\\in\\.txt" , "r" , stdin );
int T,
n, m,
tmp;
cin >> T;
while ( T-- ) {
cin >> n >> m;
int sum = 0;
for ( int i = 0; i < n; ++i ) {
cin >> tmp;
sum += tmp;
}
if ( m<n || n==2 ) {
cout << -1 << endl;
} else {
cout << sum*2 << endl;
for ( int i = 1; i <= n-1; ++i ) {
cout << i << " " << i+1 << endl;
}
cout << n << " " << 1 << endl;
}
}
return 0 ;
}