Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cmath>
- using namespace std;
- ifstream f("matrice_div_et_imp.in");
- ofstream g("matrice_div_et_imp.out");
- long long n,v[520][520];
- int p1, i , j;
- struct patrat
- {
- int iST, jST;
- } START;
- void DEI(long long n, patrat def, long long v[520][520])
- {
- int m;
- if(n == 1)
- {
- g << v[def.iST][def.jST] << " " << v[def.iST + 1][def.jST+ 1] << " " << v[def.iST][def.jST + 1] << " " << v[def.iST + 1][def.jST] << " ";
- }
- else
- {
- patrat defp1; defp1.iST = def.iST, defp1.jST = def.jST;
- patrat defp2; defp2.iST = def.iST + (int)pow(2, n-1), defp2.jST = def.jST + (int)pow(2, n-1);
- patrat defp3; defp3.iST = def.iST, defp3.jST = def.jST + (int)pow(2, n-1);
- patrat defp4; defp4.iST = def.iST + (int)pow(2, n-1), defp4.jST = def.jST;
- DEI(n-1, defp1, v);
- DEI(n-1, defp2, v);
- DEI(n-1, defp3, v);
- DEI(n-1, defp4, v);
- }
- }
- int main()
- {
- START.iST = 1;
- START.jST = 1;
- f >> n;
- p1 = (int)pow(2,n);
- for(i = 1; i <= p1; i++)
- {
- for(j = 1; j <= p1; j++)
- f >> v[i][j];
- }
- if(n != 0) DEI(n, START, v);
- else g << v[1][1];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement