Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
2.1 kB
4
Indexable
Never
// Nhan ma tran
#include <iostream>
using namespace std;

int M = 1e8+7;
long long res[105][105];
long long a[105][105];
int n;

void MulArr(long long x[105][105], long long y[105][105]){
	long long z[105][105];
	for(long i=0; i<n; i++){
		for(long j=0; j<n; j++){
			z[i][j] = 0;
			for(long k=0; k<n; k++){
				z[i][j] += (x[i][k] % M) * (y[k][j] % M);
				z[i][j] %= M;
			}
		}
	}

	for(int i=0; i<n; i++){
		for(int j=0; j<n; j++){
			res[i][j] = z[i][j];
		}
	}
}

void Sub(long long x[105][105], long long y[105][105]){
	for(long i=0; i<n; i++){
		for(long j=0; j<n; j++){
			x[i][j] = y[i][j];
		}
	}
}

void power(long long c[105][105], long m){
	if(m==1)
		return;

	if(m%2==0){
		power(c, m/2);
		MulArr(res, res);
	}
	else{
		power(c, (m-1)/2);
		MulArr(res, res);
		MulArr(res, a);
	}
}

int main(){
	//freopen("input.txt", "r", stdin);
	int t;
	cin >> t;
	for(int tc=1; tc<=t; tc++){
		long m;
		cin >> n >> m;

		for(long i=0; i<n; i++){
			for(long j=0; j<n; j++){
				cin >> a[i][j];
			}
		}

		Sub(res, a);
		power(a, m);

		cout << "Case #" << tc << endl;
		for(long i=0; i<n; i++){
			for(long j=0; j<n; j++){
				cout << res[i][j] << " ";
			}
			cout << endl;
		}
		
	}
	return 0;
}

// Partition 1
#include <iostream>
using namespace std;
int main(){
	//freopen("input.txt", "r", stdin);
	int t;
	cin >> t;
	for(int tc=1; tc<=t; tc++){
		int n;
		cin >> n;
		int a[1000];
		for(int i=0; i<n; i++){
			cin >> a[i];
		}

		for(int i=0; i<n-1; i++){
			for(int j=i+1; j<n; j++){
				if(a[i]>a[j]){
					int temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
			}
		}

		int sum = 0;
		int tmp = a[0]+a[1];
		sum += tmp;
		for(int i=1; i<n-1; i++){
			a[i] = tmp;
			for(int j=i; j<n-1; j++){
				for(int z=j+1; z<n; z++){
					if(a[j]>a[z]){
						int temp1 = a[j];
						a[j] = a[z];
						a[z] = temp1;
					}
				}
			}
			tmp = a[i]+a[i+1];
			sum += tmp;
		}
		cout << "Case #" << tc << endl;
		cout << sum << endl;
	}
	return 0;
}