fork download
  1. #include<iostream>
  2. #include<vector>
  3. #include<stdio.h>
  4. using namespace std;
  5.  
  6.  
  7. vector<vector<int> > rotate(const vector<vector<int> > &v);
  8.  
  9. int main(){
  10. vector<vector<int> > vec{{1,1,1},
  11. {2,2,2},
  12. {3,3,3}};
  13.  
  14. // original
  15.  
  16. for (int i = 0; i < vec.size(); i++) {
  17. for (int j = 0; j < vec[0].size(); j++) {
  18. cout << vec[i][j];
  19. }
  20. cout << "\n";
  21. }
  22.  
  23. cout << "after rotation:\n";
  24. // print matrix after rotation
  25. vector<vector<int> > ans = rotate(vec);
  26. for (int i = 0; i < ans.size(); i++) {
  27. for (int j = 0; j < ans[0].size(); j++) {
  28. cout << ans[i][j];
  29. }
  30. cout << "\n";
  31. }
  32.  
  33. return 0;
  34. }
  35.  
  36. vector<vector<int> > rotate(const vector<vector<int> > &v) {
  37. int n = v.size();
  38.  
  39. // create nxn matrix
  40. vector<vector<int> > ans(n, vector<int>(n));
  41.  
  42. // copy in the values rotated
  43. for(int i = 0; i < n; i++) {
  44. for(int j = 0; j < n; j++) {
  45. ans[i][j] = v[j][n - i - 1];
  46. }
  47. }
  48.  
  49. return ans;
  50. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
111
222
333
after rotation:
123
123
123